在大数据库 (~800G) 上使用 Google 数据库迁移服务复制失败,错误代码为 1062
Replication failed with error code 1062 using Google Database Migration Service on big database (~800G)
我正在尝试从外部来源在 GCP 上创建一个 MySQL 5.7.35 只读副本。数据库非常庞大,大约有800G的数据。
我已经以 GCP 接受的方式 (root@%) 调整了触发器、视图和函数的定义器,因此数据库迁移服务进行的完整转储工作。还使用此数据库的模式进行复制(无数据)。
到目前为止只尝试了一次数据。在此尝试中,完全转储成功(耗时 2 天 10 小时),但在复制开始后一段时间失败,出现以下错误:
2021-09-05T06:09:33.293123Z 2 [错误] 通道“”的从站 SQL:无法在 table pacsdb.content_item 上执行 Write_rows 事件;键 'PRIMARY'、Error_code 的重复条目“1441957”:1062;处理程序错误 HA_ERR_FOUND_DUPP_KEY;事件的主日志 mysql-bin.000005, end_log_pos 78621021, Error_code: 1062
在副本上选择此行返回与源相同的数据(该行已经存在)。
因为我无法停止 slave,skip_counter 并在 GCP 上启动 slave 或类似的东西,我必须弄清楚为什么会这样。
我的下一步是尝试使用 Google 推荐的标志手动进行转储。
有人遇到过类似问题或知道为什么会这样吗?
感谢任何提示,谢谢!
激活一致性警告和基于 GTID 的复制应该有效。 MySQL 5.7 此处 [1].
的全局事务标识符复制相关信息
[1] - https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html
我正在尝试从外部来源在 GCP 上创建一个 MySQL 5.7.35 只读副本。数据库非常庞大,大约有800G的数据。 我已经以 GCP 接受的方式 (root@%) 调整了触发器、视图和函数的定义器,因此数据库迁移服务进行的完整转储工作。还使用此数据库的模式进行复制(无数据)。
到目前为止只尝试了一次数据。在此尝试中,完全转储成功(耗时 2 天 10 小时),但在复制开始后一段时间失败,出现以下错误:
2021-09-05T06:09:33.293123Z 2 [错误] 通道“”的从站 SQL:无法在 table pacsdb.content_item 上执行 Write_rows 事件;键 'PRIMARY'、Error_code 的重复条目“1441957”:1062;处理程序错误 HA_ERR_FOUND_DUPP_KEY;事件的主日志 mysql-bin.000005, end_log_pos 78621021, Error_code: 1062
在副本上选择此行返回与源相同的数据(该行已经存在)。
因为我无法停止 slave,skip_counter 并在 GCP 上启动 slave 或类似的东西,我必须弄清楚为什么会这样。
我的下一步是尝试使用 Google 推荐的标志手动进行转储。
有人遇到过类似问题或知道为什么会这样吗?
感谢任何提示,谢谢!
激活一致性警告和基于 GTID 的复制应该有效。 MySQL 5.7 此处 [1].
的全局事务标识符复制相关信息[1] - https://dev.mysql.com/doc/refman/5.7/en/replication-gtids.html