在mysql复制的情况下如何只重新同步一个从属Mysql DB

时间:2015-04-23 08:52:31

标签: mysql synchronization replication

当只有一个从属设备连接到主数据库时,我已经看到这个post重新同步一个从属数据库。

如果我理解的话,当我们需要从一批从属DB中重新同步1个从属DB时,这个解决方案并不是最好的。

有没有办法做到这一点,而不必重新同步连接到主服务器的所有从属数据库? 我想RESET MASTER会影响所有从属DB状态,并导致重新同步所有这些状态。

感谢您的帮助

干杯

2 个答案:

答案 0 :(得分:0)

我找到了使用这些mysqldump选项的解决方案,以避免使用RESET MASTER方式:

mysqldump -p --skip-lock-tables --single-transaction --flush-logs --hex-blob --master-data=2 <dbname> > /tmp/<dbname>.sql

这样,主日志bin和位置不会改变,只是添加在文件.sql的顶部。

如果您设置master-data = 2,则会在文件

中进行注释

如果您设置master-data = 1,则不会在文件中注释

转储到从属主机后,您可以重置从属主机,导入转储,然后使用转储文件顶部指示的值运行mysql命令change master to MASTER_LOG_FILE='mysqld-bin.xxxxxxx',MASTER_LOG_POS=xxxx;

干杯

答案 1 :(得分:0)

在这种情况下,您的其他数据库是什么?如果你改变binlog和位置它们是最新的吗?

此致 罗伯特