我们正在从5.5个企业mysql迁移到8.0MySQL企业版。我们正在按版本迁移版本,比如从5.5到5.6,然后从5.6到5.7,最后从5.7到8.0,还有从rhel5迁移到os。4到8.4都可以,但客户端需要按值计算数据验证值。正常的数据验证(如行计数)和校验和(校验和)对客户端来说是不够的,因为数据是敏感的。建议使用任何好的工具、脚本或查询来检查值以评估数据验证。
发布于 2022-03-30 15:56:25
我会用pt表同步。
这是来自Percona的免费工具。这是一个命令行工具,用Perl实现.您可以通过提供参数来使用它,这些参数描述到原始数据库实例和新数据库实例的连接。它逐行比较(一次比较一小组行),然后生成一个diff,这样就可以使新实例具有与原始实例相同的数据。
您可以使用该工具执行更改以同步数据,也可以选择使其只报告差异,而不对数据进行任何更改。有关更多信息,请阅读我链接到的文档。
发布于 2022-04-07 16:04:47
(这将解决日期、时间和时间戳更改格式的注释。)
根据文档,有两种改变内部格式的方法:
mysqldump)数据(从旧版本)并将其加载到新服务器上的更新版本,格式更改将被更改,没有任何迹象表明它正在发生。这是因为从旧的内部格式转换为字符串,然后转换为新的内部格式。底线是格式更改是自动的,尽管可能会为升级增加时间。
磁盘上的InnoDB表表示的内部结构使得本质上不可能进行任何类似于逐字节文件比较的操作。(即使内部数据格式没有更改,此语句也是有效的。)
但是,您可以将所有mysql文件从一个磁盘复制到另一个磁盘,然后逐字节验证这些文件是否仍然完好无损。这是一种创建新副本的简单方法。但是,一旦mysqld接触到一个表,简单的字节比较就会变得无效。
https://dba.stackexchange.com/questions/310327
复制相似问题