【发布时间】:2012-08-23 23:46:38
【问题描述】:
我们正在运行一个标准的 Mysql 主/从复制系统,该系统已经运行了几年。事实上,我们能够通过使用 Slave DB(在将其变为 Master 之后)从服务器中断(导致 Master 离线)中恢复过来。
无论如何,导致我们问题的问题发生在我们恢复服务器并将原来的 Master 恢复为 Master 并将原来的 slave 恢复为 Slave 之后。
这是因为我是个白痴,而不是其他任何原因!
基本上在 Slave 上发生了写入 - 这意味着由于 Duplicated Primary Key 错误,无法复制 Master 上同一张表上的写入。
正如我所说,我的错。
我可以从 Slave 中删除错误写入的记录 - 从而从 Slave 中删除冲突的 ID,但我想要来自 Master DB 的记录。
我的问题是:我知道我可以通过跳过来自 Master 的相关查询来“修复”复制(通过将 SQL_SLAVE_SKIP_COUNTER 设置为 1)——但这意味着我会丢失来自 Master 的记录。
那么,有没有办法“重放”错误的复制写入?基本上将复制指向一个查询?
或者我是否必须经历整个繁琐的过程:删除我的 Slave,从我上次成功的备份中重新填充它并再次将其设置为 Slave?
非常感谢。
【问题讨论】:
标签: mysql database-replication