You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MySQL主主复制新增需同步表后,历史数据未同步的解决方法

问题

现有3台服务器组成的MySQL主主复制集群,所有服务器互相连通。当前仅复制数据库db中80张表里的10张,通过MySQL配置文件的replicate-do-table指定需复制的表。

新增一张此前未复制的表后,添加replicate-do-table配置已实现新数据同步,但历史数据未同步,如何让该表的历史数据同步至所有服务器?

附当前MySQL配置文件内容:

default_table_encryption=ON
table_encryption_privilege_check=ON
replica_parallel_workers=4
enforce_gtid_consistency=ON
gtid_mode=ON
keyring_file_data=.....
early-plugin-load=keyring_file.so
skip_replica_start=OFF
auto_increment_increment=50
auto_increment_offset=1
server_id=3
replicate_same_server_id=0
replicate-do-db=db
replicate-do-table=db.table1
replicate-do-table=db.table2
replicate-do-table=db.table3
replicate-do-table=db.table4
replicate-do-table=db.table5
replicate-do-table=db.table6
replicate-do-table=db.table7
replicate-do-table=db.table8
replicate-do-table=db.table9
replicate-do-table=db.table10
replicate-do-table=db.table11
replicate-do-table=db.table12
slave-skip-errors=1032

解决步骤

你的集群已开启gtid_mode=ON,可以利用GTID安全同步历史数据,具体操作如下:

1. 确认所有节点复制状态正常

在每台服务器上执行以下命令,确保复制线程运行无异常、无延迟:

SHOW REPLICA STATUS\G

重点检查Slave_IO_Running和Slave_SQL_Running均为Yes,Seconds_Behind_Master为0。

2. 在数据最完整的节点导出目标表历史数据

选择存放新增表原始数据的节点(数据最完整的节点),执行导出命令:

mysqldump -u root -p --single-transaction --no-create-info --skip-add-locks db 新增表名 > target_table_data.sql
  • --single-transaction:InnoDB引擎下无需锁表,保证导出数据一致性
  • --no-create-info:仅导出数据,不导出表结构(其他节点已通过复制同步表结构)
  • --skip-add-locks:避免导入时锁表影响业务

3. 在其他节点暂停复制进程

在需要同步历史数据的另外两台服务器上,暂停复制线程:

STOP REPLICA;

4. 导入历史数据到其他节点

将导出的target_table_data.sql复制到另外两台服务器,执行导入:

mysql -u root -p db < target_table_data.sql

5. 重启复制并验证状态

在另外两台服务器上重启复制:

START REPLICA;

再次执行SHOW REPLICA STATUS\G,确认复制线程恢复正常,Seconds_Behind_Master回到0。

6. 验证数据一致性

在所有节点上查询目标表的行数和关键数据,确保数据完全一致:

SELECT COUNT(*) FROM db.新增表名;

注意事项

  • 操作前建议备份所有节点的目标表,避免数据丢失
  • 若表数据量较大,建议在业务低峰期执行,减少对业务的影响
  • 主主集群中,禁止同时在多个节点修改目标表的历史数据,避免数据冲突

内容的提问来源于stack exchange,提问作者Amir Almian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:10:20