为什么要使用基于混合的 mysql 复制

为什么要使用基于混合的 mysql 复制

我正在配置 MySQL 复制,打算使用基于行的复制,但我也在阅读有关基于混合的复制的资料。

这是基于语句的默认设置,然后在某些情况下(http://dev.mysql.com/doc/refman/5.1/en/binary-log-mixed.html)MySQL 将切换到基于行。

关于何时切换到基于行的列表非常长。

我的问题是:

有人使用混合吗?如果是,为什么你选择这个而不是只使用其中一种?

提前致谢

答案1

有人用混合的吗?

我敢打赌很多人都使用过混合模式复制,因为根据MySQL 参考手册

从 MySQL 5.1.12 到 MySQL 5.1.28,混合格式是默认格式。从 MySQL 5.1.29 开始,基于语句的格式是默认格式。

MySQL 性能博客讨论了不同复制方法所面临的不同问题。

因此,看起来 MySQL 一直在尝试在 5.1.x 系列中的混合模式、基于语句和基于行的复制之间切换,这令人不安。

我目前正在阅读高性能 MySQL,第二版来自 O'Reilly。其中有一章关于复制的内容很棒,值得一读。经过一小时的阅读,我的许多问题都得到了解答。您可以在第 8 章 复制 > 底层复制 - 第 357 页

由于两种格式都不是万能的,因此 MySQL 5.1 会动态地在基于语句和基于行的复制之间切换。默认情况下,它使用基于语句的复制,但当它检测到无法使用语句正确复制的事件时,它会切换到基于行的复制。您还可以根据需要通过设置 binlog_format 会话变量来控制格式。

相关内容