Spec-Zone .ru
спецификации, руководства, описания, API

16.4.3. Обновление Установки Репликации

Когда Вы обновляете серверы, которые участвуют в установке репликации, процедура для того, чтобы обновить зависит от текущих версий сервера и версии, до которой Вы обновляете.

Этот раздел применяется к обновлению репликации от более старых версий MySQL к MySQL 5.6. 4.0 сервера должны быть 4.0.3 или более новы.

Когда Вы обновляете ведущее устройство до 5.6 от более раннего ряда выпуска MySQL, следует сначала гарантировать, что все ведомые устройства этого ведущего устройства используют то же самое 5.6.x выпуск. Если дело обстоит не так, следует сначала обновить ведомые устройства. Чтобы обновить каждое ведомое устройство, завершите работу этого, обновите это до соответствующего 5.6.x версия, перезапустите это, и перезапустите репликацию. 5.6 ведомых устройств в состоянии считать старые релейные журналы, записанные до обновления и выполнить операторы, которые они содержат. Релейные журналы, создаваемые ведомым устройством после обновления, находятся в 5.6 форматах.

После того, как ведомые устройства были обновлены, завершали работу ведущего устройства, обновляют это до того же самого 5.6.x выпуск как ведомые устройства, и перезапускают это. 5.6 ведущих устройств в состоянии считать старые двоичные журналы, записанные до обновления и отправить им этим 5.6 ведомым устройствам. Ведомые устройства распознают старый формат и обрабатывают его должным образом. Двоичные журналы, создаваемые ведущим устройством, последующим за обновлением, находятся в 5.6 форматах. Они также распознаются этими 5.6 ведомыми устройствами.

Другими словами, обновляя до MySQL 5.6, ведомые устройства должны быть MySQL 5.6 прежде, чем можно будет обновить ведущее устройство до 5.6. Отметьте, что понижение от 5.6 до более старых версий не работает так просто: следует гарантировать, что любые 5.6 двоичных журналов или релейный журнал были полностью обработаны, так, чтобы можно было удалить это перед продолжением упадка.

Понижение установки репликации к предыдущей версии не может быть сделано, как только Вы переключились от основанного на операторе до построчной репликации, и после того, как первый основанный на строке оператор был записан binlog. См. Раздел 16.1.2, "Форматы Репликации".

Некоторые обновления могут потребовать, чтобы Вы отбросили и воссоздали объекты базы данных, когда Вы перемещаетесь от одного ряда MySQL до следующего. Например, изменения сопоставления могли бы потребовать, чтобы таблица индексировала быть восстановленной. Такие операции, в случае необходимости, будут детализированы в Разделе 2.11.1.1, "Обновляя от MySQL 5.5 до 5.6". Является самым безопасным выполнить эти операции отдельно на ведомых устройствах и ведущем устройстве, и отключить репликацию этих операций от ведущего устройства к ведомому устройству. Чтобы достигнуть этого, используйте следующую процедуру:

  1. Остановите все ведомые устройства и обновите их. Перезапустите их с --skip-slave-start опция так, чтобы они не соединились с ведущим устройством. Выполните любые табличные операции восстановления или восстановления, должен был воссоздать объекты базы данных, такие как использование REPAIR TABLE или ALTER TABLE, или дамп и перезагрузка таблиц или триггеров.

  2. Отключите двоичный файл, входят в систему ведущее устройство. Чтобы сделать это, не перезапуская ведущее устройство, выполните a SET sql_log_bin = 0 оператор. Альтернативно, остановите ведущее устройство и перезапустите это без --log-bin опция. Если Вы перезапускаете ведущее устройство, Вы могли бы также хотеть отвергнуть клиентские соединения. Например, если все клиенты соединяют использование TCP/IP, используйте --skip-networking опция, когда Вы перезапускаете ведущее устройство.

  3. С двоичным отключенным журналом выполните любые табличные операции восстановления или восстановления, должен был воссоздать объекты базы данных. Двоичный журнал должен быть отключен во время этого шага, чтобы препятствовать тому, чтобы эти операции были зарегистрированы и переданы к ведомым устройствам позже.

  4. Повторно включите двоичному файлу, входят в систему ведущее устройство. Если Вы устанавливаете sql_log_bin к 0 ранее, выполните a SET sql_log_bin = 1 оператор. Если Вы перезапускали ведущее устройство, чтобы отключить двоичный журнал, перезапустите его с --log-bin, и без --skip-networking так, чтобы клиенты и ведомые устройства могли соединиться.

  5. Перезапустите ведомые устройства, на сей раз без --skip-slave-start опция.

Репликация с глобальными идентификаторами транзакции была представлена в MySQL 5.6.7. Если Вы обновляете существующую установку репликации от версии MySQL, который не поддерживает GTIDs к версии, которая делает, недопустимо включить GTIDs или на ведущем устройстве или на ведомом устройстве прежде, чем удостовериться, что установка удовлетворяет все требования для GTID-на-основе репликации. См. Раздел 16.1.3.2, "Устанавливая Репликацию Используя GTIDs", который содержит информацию о преобразовании существующих установок репликации, чтобы использовать GTID-на-основе репликацию.