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

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

数据库表结构的差异

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

数据库表结构的差异

1 cd 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.比较

未经允许严禁转载

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

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

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

 






相关文章:

  • 2021-05-16
  • 2021-09-01
  • 2021-05-14
  • 2021-12-06
  • 2021-08-18
  • 2022-12-23
  • 2021-11-16
  • 2021-10-27
猜你喜欢
  • 2022-12-23
  • 2021-08-18
  • 2021-07-30
  • 2021-06-30
  • 2022-12-23
  • 2021-04-25
相关资源
相似解决方案