首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >迁移后MySQL数据库验证

迁移后MySQL数据库验证
EN

Database Administration用户
提问于 2022-03-30 11:11:33
回答 2查看 261关注 0票数 2

我们正在从5.5个企业mysql迁移到8.0MySQL企业版。我们正在按版本迁移版本,比如从5.5到5.6,然后从5.6到5.7,最后从5.7到8.0,还有从rhel5迁移到os。4到8.4都可以,但客户端需要按值计算数据验证值。正常的数据验证(如行计数)和校验和(校验和)对客户端来说是不够的,因为数据是敏感的。建议使用任何好的工具、脚本或查询来检查值以评估数据验证。

EN

回答 2

Database Administration用户

发布于 2022-03-30 15:56:25

我会用pt表同步

这是来自Percona的免费工具。这是一个命令行工具,用Perl实现.您可以通过提供参数来使用它,这些参数描述到原始数据库实例和新数据库实例的连接。它逐行比较(一次比较一小组行),然后生成一个diff,这样就可以使新实例具有与原始实例相同的数据。

您可以使用该工具执行更改以同步数据,也可以选择使其只报告差异,而不对数据进行任何更改。有关更多信息,请阅读我链接到的文档。

票数 0
EN

Database Administration用户

发布于 2022-04-07 16:04:47

(这将解决日期、时间和时间戳更改格式的注释。)

根据文档,有两种改变内部格式的方法:

  • 如果您转储(例如通过mysqldump)数据(从旧版本)并将其加载到新服务器上的更新版本,格式更改将被更改,没有任何迹象表明它正在发生。这是因为从旧的内部格式转换为字符串,然后转换为新的内部格式。
  • 如果“升级到位”,则升级过程将花费时间重新构建每个具有日期时间或时间戳的表。(可能有一些推迟格式更改的选择,但我对细节并不熟悉。)

底线是格式更改是自动的,尽管可能会为升级增加时间。

磁盘上的InnoDB表表示的内部结构使得本质上不可能进行任何类似于逐字节文件比较的操作。(即使内部数据格式没有更改,此语句也是有效的。)

但是,您可以将所有mysql文件从一个磁盘复制到另一个磁盘,然后逐字节验证这些文件是否仍然完好无损。这是一种创建新副本的简单方法。但是,一旦mysqld接触到一个表,简单的字节比较就会变得无效。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/310327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档