比较两个mysql数据库表结构的差异

需求来源:一个线上系统,一个开发系统,现在要把开发系统更新到线上,但是开发系统的数据库结构与线上的略有差异,所以需要找出两个数据库的表结构差异。 数据库表结构的差异

注:操作均在Linux系统下完成

数据库表结构的差异

1.导出两个数据库的表结构

数据库表结构的差异

1cd mysql/bin
2./mysqldump -uroot -p -d DB1>/home/leo/db1.sql
3./mysqldump -uroot -p -d DB2>/home/leo/db2.sql

mysqldump的-d参数意思是只要导出结构,不需要导出数据。

http://leo108.com/pid-1858.asp

2.比较

未经允许严禁转载

1cd /home/leo
2diff db1.sql db2.sql>diff

利用diff命令把两个sql文件的差异处找出来,但是还是会有一些信息是无用的,例如AUTO_INCREMENT的值,所以要把这些信息剔除 diff

1cd /home/leo
2sed -i 's/AUTO_INCREMENT=[0-9]{1,}//' db1.sql
3sed -i 's/AUTO_INCREMENT=[0-9]{1,}//' db2.sql
4diff db1.sql db2.sql>diff





原文地址:https://www.cnblogs.com/wudonghang/p/5332527.html