接收到这个mysqldiff错误的下一步是什么?

我有一个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
  • Ubuntu的Linux

mysqldiff只是告诉你,你有两个数据库之间的区别,关于数据库名称: dev_si_brand_newprod_si

如果您不希望mysqldiff在遇到的第一个差异mysqldiff停止并继续进行比较,只需将--force参数添加到您的命令行中:

– 力

不要停下来find第一个区别。 处理所有对象以查找所有差异。

 mysqldiff --force --server1=root@localhost dev_si_brand_new:prod_si