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