龙空技术网

比较表结构差异mysqldiff用法

比特程序员 79

前言:

当前同学们对“mysql对比数据差异”大体比较讲究,咱们都想要分析一些“mysql对比数据差异”的相关资讯。那么小编同时在网摘上汇集了一些对于“mysql对比数据差异””的相关资讯,希望你们能喜欢,你们一起来学习一下吧!

为什么要找出表结构差异

当我我们在开发代码时,时常会伴随着表结构的修改,到发布上线时就要修改线上的数据表结构。

当然你可以手动比较修改的表结构,然后输出sql语句,那有没自动的方法呢?答案是有的,需要我们利用工具,这个工具就是mysqldiff。

安装mysqldiff工具

mysqldiff是mysql-utilities工具中的一个,只要我们安装了mysql-utilities就能使用mysqldiff了,具体安装方法这里不再介绍,各个平台安装方法略有差异。

mysqldiff使用

mysqldiff是比较两个对象的差异,对象既可以是数据库也可以是数据表,比如我们要比较数据库db中数据表tb1与tb2的不同,可以这样写:

mysqldiff --server1=host1 db.tb1:db.tb2

这时就会输出数据表tb1与tb2的差异,如果我们需要输出的是sql语句,可以这样写:

mysqldiff --server1=host1 --diff-type=sql db.tb1:db.tb2

这时就会输出从tb1转换为tb2的sql语句。

总结

mysqldiff可以为我们生成从一个对象转换为另一个对象的sql语句,让我们摆脱手动生成的繁琐任务,非常棒的功能。

mysqldiff有许多选项可以指定,这里没有详细讨论,如果你需要了解每个选项的意义和作用可以参考官方文档。

标签: #mysql对比数据差异