我们能够在主/从服务器上设置具有以下版本的 mysql 主从复制:
mysqld Ver 5.5.28-29.1-log 适用于 x86_64 上的 Linux(Percona Server(GPL),版本 29.1)
有一天,我们注意到复制已停止,我们尝试跳过导致复制错误的条目。错误仍然存在,因此我们决定跳过 4 个有问题的表的复制。除了 4 个表之外,从服务器现在已赶上主服务器。
为这 4 个表再次启用复制的最佳方法是什么?
这是我的想法,但我不知道它是否会起作用:
1)修改从服务器配置,重新为这 4 个表启用复制
2)停止从属复制
3)对于这 4 个表,使用 pt-table-sync --execute --verbose --print --sync-to-master h=localhost,D=mydb,t=mytable
4)重新启动从属数据库以重新加载复制配置
5)启动从属复制
答案1
我认为最干净的方法是
- 从主服务器转储 4 个表并将这些转储恢复到从属表
- 修改从属配置以再次启用这些表的复制
- 重启从属数据库
这样你就可以确保主服务器和从服务器上的 4 个表是相同的。
您所想的也应该可行,至少如果您信任 percona 工具包的话:)