我有一个MySQL数据库已经在生产和保存,并恢复了几次phpmyadmin和mysqldump /恢复。 我怀疑“生产活动”在这个数据库结构和从定义SQL的原始模式创build的任何新的“原始”数据库之间引入了一些差异。
当我尝试使用mysqldiff比较生产数据库和全新的实例时,我得到:
$ mysqldiff --server1=root@localhost dev_si_brand_new:prod_si # server1 on localhost: ... connected. # Comparing `dev_si_brand_new` to `prod_si` [FAIL] # Object definitions differ. (--changes-for=server1) # --- `dev_si_brand_new` +++ `prod_si` @@ -1 +1 @@ -CREATE DATABASE `dev_si_brand_new` /*!40100 DEFAULT CHARACTER SET latin1 */ +CREATE DATABASE `prod_si` /*!40100 DEFAULT CHARACTER SET latin1 */ Compare failed. One or more differences found.
从mysqldiff文档
当指定数据库对时,将一个数据库中的所有对象与另一个数据库中的相应对象进行比较。 没有出现在任何数据库中的任何对象都会产生错误。
是否有可能获得debugging信息?
我需要做什么来生成有用的差异报告?
注:我正在运行
mysql Ver 14.14 Distrib 5.5.43 mysqldiff只是告诉你,你有两个数据库之间的区别,关于数据库名称: dev_si_brand_new与prod_si 。
如果您不希望mysqldiff在遇到的第一个差异mysqldiff停止并继续进行比较,只需将--force参数添加到您的命令行中:
– 力
不要停下来find第一个区别。 处理所有对象以查找所有差异。
mysqldiff --force --server1=root@localhost dev_si_brand_new:prod_si