Spec-Zone .ru
спецификации, руководства, описания, API
|
Репликация работает, потому что события, записанные двоичному журналу, читаются от ведущего устройства и затем обрабатываются на ведомом устройстве. События записываются в пределах двоичного файла, входят в систему различные форматы согласно типу события. Различные используемые форматы репликации соответствуют двоичному формату журналирования, используемому, когда события были записаны в двоичном журнале ведущего устройства. Корреляция между двоичными форматами журналирования и терминами, использованными во время репликации:
Возможности репликации в MySQL первоначально были основаны на распространении SQL-операторов от ведущего устройства к ведомому устройству. Это вызывают основанной на операторе репликацией (часто сокращаемый как SBR), который соответствует стандартному основанному на операторе двоичному формату журналирования. В более старых версиях MySQL (5.1.4 и ранее), двоичное журналирование и репликация, используемая этот формат исключительно.
Основанное на строке двоичное журналирование регистрирует изменения в отдельных строках таблицы. Когда использующийся с репликацией MySQL, это известно как построчная репликация (часто сокращенный как RBR). В построчной репликации ведущее устройство пишет события в двоичный журнал, которые указывают, как изменяются отдельные строки таблицы.
Сервер может изменить двоичный формат журналирования в режиме реального времени согласно типу события, используя журналирование смешанного формата.
Когда смешанный формат в действительности, основанное на операторе журналирование используется по умолчанию, но автоматически переключается на основанные на строке входящие в систему особые случаи как описано позже. Репликация используя смешанный формат часто упоминается как смешано-на основе репликация или репликация смешанного формата. Для получения дополнительной информации см. Раздел 5.2.4.3, "Смешанный Двоичный Формат Журналирования".
В MySQL 5.7 основанный на операторе формат является значением по умолчанию.
При использовании MIXED
формат, двоичный формат журналирования определяется
частично используемым механизмом хранения и выполняемый оператор. Для получения дополнительной информации по
журналированию смешанного формата и правилам, управляющим поддержкой различных форматов журналирования, см. Раздел 5.2.4.3, "Смешанный Двоичный Формат
Журналирования".
Форматом журналирования в рабочем сервере MySQL управляют, устанавливая binlog_format
системная переменная сервера. Эта переменная может быть установлена
с сеансом или глобальной областью видимости. Управление правил, когда и как новая установка вступает в силу,
является тем же самым что касается других системных переменных сервера MySQL — установка переменной для текущего
сеанса длится только до конца того сеанса, и изменение не видимо к другим сеансам; установка переменной
глобально требует, чтобы перезапуск сервера вступил в силу. Для получения дополнительной информации см. Раздел 13.7.4,"SET
Синтаксис".
Есть условия, при которых невозможно изменить двоичный формат журналирования во времени выполнения или выполнении так репликация причин, чтобы перестать работать. См. Раздел 5.2.4.2, "Устанавливая Двоичный Формат Журнала".
Вы должны иметь SUPER
полномочие установить или глобальную переменную или сеанс binlog_format
значение.
У форматов основанной на операторе и построчной репликации есть другие вопросы и ограничения. Для сравнения их относительных преимуществ и недостатков, см. Раздел 16.1.2.1, "Преимущества и Недостатки Основанной на операторе и Построчной репликации".
С основанной на операторе репликацией можно встретиться с проблемами с тиражированием сохраненных подпрограмм или триггеров. Можно избежать этих проблем при использовании построчной репликации вместо этого. Для получения дополнительной информации см. Раздел 18.7, "Двоичное Журналирование Сохраненных Программ".