如何testingmysql数据库和logging已正确迁移服务器?

我必须将数据库移动到新的服务器。 我做服务器A的数据库的mysqldump,并将其导入到服务器B.然后,我做了从服务器B的转储,并通过bash比较这与从服务器A的转储。 这失败了,有些行不匹配,虽然手动检查显示没有涉及数据线。 这两个服务器运行略有不同版本的MySQL 5.0.x.

使用mysqldump命令:

mysqldump -u user -p mydb > mydbA.sql 

然后经过一些研究,我使用了bash上的工具:

  1. 旧服务器A上的mysqldump,完整转储和仅数据转储。
  2. 在新服务器B上创build数据库并从A导入完整转储
  3. 那么数据只从服务器B转储
  4. 比较数据转储A和数据转储B.
  5. 应该退出0 – 从echo $?
  6. MD5也给出相同的散列。

这两个服务器运行略有不同版本的MySQL 5.0.x.

“完整”转储

 mysqldump -u user -p mydb > mydbFULL.sql 

仅数据转储

 mysqldump --no-create-info --skip-opt --skip-comments --skip-extended-insert --compact -u user -p mydb > mydbDATAonly.sql 

您可能需要检查Percona Toolkit for MySQL。 pt-table-checksum工具将在每个表的基础上运行校验和。 虽然这是为MySQL复制而devise的,但我怀疑你也可以用它来比较迁移的数据。

参考: http : //www.percona.com/software/percona-toolkit