2012-06-15 48 views
1

我有几个slave dbs从同一master db复制,但是,对于其中一个slave,我想保留它作为备份db,这将永远不会更新或删除行。只有mysql复制插入

基本上,目的是通过使用复制(mysqldump waaay执行备份速度较慢),没有更新/删除查询得到复制,仅插入查询来使所有行都具有备份数据库。我知道会有一些冲突发生,但是仍然怀疑是否在从属端或其他解决方案上的语句/查询上有任何过滤选项。

+0

信息不足为有用的答案。目前还不清楚你想要做什么。 “我知道会有一些冲突” - 如果没有本地写入,怎么会有冲突呢?这个问题目前还不清楚,不一致,请澄清。谢谢。 – MarkR

回答

1

你应该从来没有运行生产数据库没有适当的工作备份方案 - 至少只要你重视你的数据。如果您担心错误的sql指令可能会破坏您的数据库,那么您可以尝试时间点恢复

如果您已经使用复制,您的主服务器会将所有写入/更新操作记录到它的二进制日志 - 它将发送到从属服务器进行复制。你可以做例如每晚备份完整的数据库。如果您在早上销毁数据库,则可以从夜晚导入备份,并在备份后重新应用binlog中的指令,直到导致杀死数据库的指令为止。

然后您可以跳过此说明并应用之后的说明。这也会导致一致性问题,因为跳过的指令之后的指令看到数据库中的不同数据,就像它们最初执行时那样。