
Я настраиваю репликацию 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 по умолчанию используется формат на основе операторов.
TheБлог о производительности MySQLрассказывает о различных проблемах, связанных с различными методами репликации.
Таким образом, похоже, что MySQL пытается переключиться между смешанным режимом, репликацией на основе операторов и репликацией на основе строк в серии 5.1.x, и это расстраивает.
Я сейчас читаюВысокая производительность MySQL, второе изданиеот O'Reilly. В ней есть отличная глава о репликации, и ее стоит прочитать. На многие мои вопросы я получил ответы за час чтения. Вы можете прочитать часть главы вГлава 8. Репликация > Репликация под капотом - стр. 357:
Поскольку ни один из форматов не идеален для каждой ситуации, MySQL 5.1 динамически переключается между репликацией на основе операторов и репликацией на основе строк. По умолчанию он использует репликацию на основе операторов, но когда он обнаруживает событие, которое не может быть правильно реплицировано с помощью оператора, он переключается на репликацию на основе строк. Вы также можете управлять форматом по мере необходимости, установив переменную сеанса binlog_format.