小编tam*_*aha的帖子

我可以使用master中的mysql binlog作为slave上的中继日志吗?

我有以下Mysql复制模式:

A(主) - > B(主/从) - > C(从)

  • 写binlog
  • B读取A的binlog应用了relaylog并写入了自己的binlog
  • C从B读取并适用.

如果由于某种原因(A-> B)复制被破坏,我可以复制A的binlog,找到哪个位置对应于B最后执行的语句并重放它.所有复制链中bin/relay日志中的事务/语句顺序是否相同?(复制使用一个线程,因此它可能是相同的顺序.)

更新:我应该问:"所有复制链中binlogs中的语句/事务的顺序是否相同?我们可以重放任何主机上的任何日志并将任何从站(c)重新命名为master(A)"似乎答案是是的".但官方确认或文档(源代码)链接尚未发布.

UPDATE2:从官方文档到innodb_support_xa:

在XA事务中启用InnoDB对两阶段提交的支持,从而导致额外的磁盘刷新以进行事务准备.XA机制在内部使用,对于打开其二进制日志并接受来自多个线程的数据更改的任何服务器都是必不可少的.如果禁用innodb_support_xa,则事务可以按照与实时数据库提交的顺序不同的顺序写入二进制日志,这可以在灾难恢复或复制从服务器上重播二进制日志时生成不同的数据.

mysql replication recovery mysqlbinlog

13
推荐指数
2
解决办法
2901
查看次数

标签 统计

mysql ×1

mysqlbinlog ×1

recovery ×1

replication ×1