我正在configurationMySQL复制的过程,并打算使用基于行的复制,但我也读了基于混合的复制。
这是默认的基于声明的地方,然后在某些情况下( http://dev.mysql.com/doc/refman/5.1/en/binary-log-mixed.html),MySQL将切换到基于行。
当列表切换到基于行的时候,列表将被放弃。
我的问题是:
有没有使用混合? 如果是的话,你为什么select只使用一个或另一个呢?
提前致谢
有没有使用混合?
我敢打赌,很多人都使用混合模式复制,因为根据MySQL参考手册 ,这是默认的很长一段时间:
从MySQL 5.1.12到MySQL 5.1.28,混合格式是默认的。 从MySQL 5.1.29开始,基于语句的格式是默认的。
MySQL Performance Blog讨论了不同复制方法的不同问题。
所以,似乎MySQL一直试图在5.1.x系列中的基于混合模式,基于语句的和基于行的复制之间进行切换,这是令人不安的。
我正在阅读来自O'Reilly的高性能MySQL第二版 。 它有一个复制的伟大篇章,非常值得一读。 我的许多问题已经在一个小时的阅读中得到解答。 你可以阅读第8章中的一些章节。 357 :
因为这两种格式都不适合每种情况,所以MySQL 5.1会dynamic地在基于语句和基于行的复制之间进行切换。 默认情况下,它使用基于语句的复制,但是当它检测到无法用语句正确复制的事件时,它将切换到基于行的复制。 您还可以通过设置binlog_format会话variables来根据需要控制格式。