当只有一个从属设备连接到主数据库时,我已经看到这个post重新同步一个从属数据库。
如果我理解的话,当我们需要从一批从属DB中重新同步1个从属DB时,这个解决方案并不是最好的。
有没有办法做到这一点,而不必重新同步连接到主服务器的所有从属数据库?
我想RESET MASTER
会影响所有从属DB状态,并导致重新同步所有这些状态。
感谢您的帮助
干杯
答案 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和位置它们是最新的吗?
此致 罗伯特