为什么在重新同步mysql slave时发出'reset master'

时间:2013-03-27 05:33:01

标签: mysql replication binlog

我最近需要执行一些数据库重新同步,并且在将数据库转储到主服务器之前,有一个关于(似乎是)发布'RESET MASTER'的常见做法的问题。

在从主服务器转储数据库之前,我发现围绕此过程的所有文档都有一个“RESET MASTER”。

示例:https://stackoverflow.com/a/3229580/1570785

然而,在生产环境中,这似乎适得其反,主要是因为“RESET MASTER”命令将清除现有的二进制日志。因此,如果在复制中断时主服务器出现问题,最终会导致不一致/损坏的主服务器不同步的服务器。

鉴于此过程需要首先执行(即mysql复制出现问题),因此删除binlogs(可能用于从COMPLETE灾难中恢复)似乎是不明智的需要重新开始。

我真正在问的是:我缺少什么 - 是否有正当理由在从主人那里转储之前执行'重置主持人'?

1 个答案:

答案 0 :(得分:0)

这不是必需的。 如果使用mysqldump创建转储,请添加以下选项: --single-transaction - 不锁定innodb表并创建一致的快照。 --master-data - 要添加master的二进制日志位置,该slave应该从。

开始复制