【问题标题】:How to confirm mysql-mariadb database migration is OK?如何确认mysql-mariadb数据库迁移OK?
【发布时间】:2018-05-11 07:08:07
【问题描述】:

我最近使用 'mysqldump' 将数据库(从 Ubuntu 服务器)迁移到 mariadb 数据库(在 CentOS7 服务器上),并使用 'mysql' 命令导入它们。我有这个设置一个 phpmyadmin 环境,虽然迁移似乎已经成功,但我注意到 phpmyadmin 报告使用了不同的磁盘空间,并且还显示了一些表的略有不同的行号。

是否有任何方法可以确定是否“遗漏”了任何内容,或者是否有任何方法可以确认数据是否已在迁移过程中全部复制? 我已经在两台服务器上运行了 mysqlcheck 来检查数据库的一致性,但我认为这并不能真正确认数据是相同的。

干杯,

提姆

【问题讨论】:

  • 就像任何其他数据库迁移项目一样:协调源数据与目标数据。
  • 我是数据库新手——这是我第一次尝试迁移,老实说我不明白你的意思。如果您有任何相关示例,那就太好了。
  • 如果你的数据不多,那么简单的比较两个数据库中的数据。
  • 不幸的是,我们谈论的是一个相当大的数据库。一些表的行数 > 1 亿行,一些表的行数 > 10 亿。比较这些数据可能很困难。在 phpmyadmin 中环顾四周,我注意到如果我选择一个表并跳转到最后显示的行,它会报告顶部的行数 - 虽然这将是一项费力的任务,但我应该能够确认所有数据库的行数。
  • 行数是一回事,其中的数据是另一回事。在这种情况下,比较数字列的总数、不同值的列表和文本列的不同值的计数、日期列的日期范围。虽然我很惊讶,如果你有这么多记录,那为什么你的团队中没有 sy,之前做过迁移...

标签: mysql mariadb database-migration


【解决方案1】:

可能不是问题。

InnoDB,当使用SHOW TABLE STATUS 时,只给你一个近似的行数。

转储和重新加载重建了数据和索引。这很可能导致文件大小不同,即使 逻辑 内容相同。

除了你提到的以外,你还有其他差异的线索吗?

【讨论】:

  • 瑞克 - 没有任何线索表明存在差异,但如果有办法确认数据,我会感觉更好。
  • pt-table-checksum 提供您所需要的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-25
  • 2018-12-13
  • 2012-07-27
  • 2018-07-11
  • 2014-04-10
  • 1970-01-01
  • 2018-07-19
相关资源
最近更新 更多