我最近需要执行一些数据库重新同步,并且在将数据库转储到主服务器之前,有一个关于(似乎是)发布'RESET MASTER'的常见做法的问题。
在从主服务器转储数据库之前,我发现围绕此过程的所有文档都有一个“RESET MASTER”。
示例:https://stackoverflow.com/a/3229580/1570785
然而,在生产环境中,这似乎适得其反,主要是因为“RESET MASTER”命令将清除现有的二进制日志。因此,如果在复制中断时主服务器出现问题,最终会导致不一致/损坏的主服务器和不同步的服务器。
鉴于此过程需要首先执行(即mysql复制出现问题),因此删除binlogs(可能用于从COMPLETE灾难中恢复)似乎是不明智的需要重新开始。
我真正在问的是:我缺少什么 - 是否有正当理由在从主人那里转储之前执行'重置主持人'?
答案 0 :(得分:0)
这不是必需的。
如果使用mysqldump创建转储,请添加以下选项:
--single-transaction
- 不锁定innodb表并创建一致的快照。
--master-data
- 要添加master的二进制日志位置,该slave应该从。