我有一个 MySQL 数据库,它已经投入生产,并使用 phpmyadmin 和 mysqldump/restore 保存和恢复了几次。我怀疑“生产活动”在这个数据库结构和任何从定义 SQL 的原始模式创建的新“原始”数据库之间引入了一些差异。
当我尝试将生产数据库与全新实例进行比较时,使用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.
指定数据库对时,将一个数据库中的所有对象与另一个数据库中的相应对象进行比较。任何未出现在任一数据库中的对象都会产生错误。
是否可以获得调试信息?
我需要做什么才能生成有用的差异报告?
注意:我正在跑步
mysql Ver 14.14 Distrib 5.5.43
- Ubuntu的
mysqldiff
只是告诉您,关于 DB 名称,您在两个 DB 之间存在差异:dev_si_brand_new
与prod_si
.如果您不想
mysqldiff
在遇到的第一个差异处停止并继续比较,只需将--force
参数添加到命令行: