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

Глава 16. Репликация

Оглавление

16.1. Конфигурация репликации
16.1.1. Как Установить Репликацию
16.1.2. Форматы репликации
16.1.3. Репликация с Глобальными Идентификаторами транзакции
16.1.4. Репликация и Двоичные Опции Журналирования и Переменные
16.1.5. Общие Задачи администрирования Репликации
16.2. Реализация репликации
16.2.1. Детали Реализации репликации
16.2.2. Реле репликации и Журналы Состояния
16.2.3. Как Серверы Оценивают Правила Фильтрации Репликации
16.3. Решения для репликации
16.3.1. Используя Репликацию для Резервных копий
16.3.2. Используя Репликацию с Различными Основными и Ведомыми Механизмами Хранения
16.3.3. Используя Репликацию для Масштаба
16.3.4. Тиражирование Различных Баз данных к Различным Ведомым устройствам
16.3.5. Улучшение Производительности Репликации
16.3.6. Переключающиеся Ведущие устройства Во время Failover
16.3.7. Установка Репликации Используя SSL
16.3.8. Полусинхронная Репликация
16.3.9. Задержанная Репликация
16.4. Примечания репликации и Подсказки
16.4.1. Функции репликации и Проблемы
16.4.2. Версии MySQL Compatibility Between репликации
16.4.3. Обновление Установки Репликации
16.4.4. Поиск и устранение неисправностей Репликации
16.4.5. Как Сообщить об Ошибках Репликации или проблемах

Репликация позволяет данным от одного сервера базы данных MySQL (ведущее устройство) быть тиражированными в одни или более серверов баз данных MySQL (ведомые устройства). Репликация является асинхронной по умолчанию - ведомые устройства должны не к соединенному постоянно получить обновления от ведущего устройства. Это означает, что обновления могут произойти по дальним соединениям и даже по временным или неустойчивым соединениям, таким как служба автоматической телефонной связи. В зависимости от конфигурации можно тиражировать все базы данных, выбранные базы данных, или даже выбранные таблицы в пределах базы данных.

Для ответов на некоторые вопросы, которые те часто задают, кто плохо знаком с MySQL Replication, см. Раздел B.13, "FAQ MySQL 5.7: Репликация".

Целевое использование для репликации в MySQL включает:

Репликация в функциях MySQL поддерживает для односторонней, асинхронной репликации, в которой один сервер действует как ведущее устройство, в то время как один или более других серверов действуют как ведомые устройства. Это в отличие от синхронной репликации, которая является характеристикой MySQL Cluster (см. MySQL Cluster NDB 7.2). В MySQL 5.7 интерфейс к полусинхронной репликации поддерживается в дополнение к встроенной асинхронной репликации. С полусинхронной репликацией фиксация, выполняемая на основных блоках стороны прежде, чем возвратиться к сеансу, который выполнял транзакцию, пока, по крайней мере одно ведомое устройство не подтверждает, что получило и зарегистрировало события для транзакции. См. Раздел 16.3.8, "Полусинхронная Репликация" MySQL 5.7 также поддерживает задержанную репликацию так, что, ведомый сервер сознательно отстает от ведущего устройства, по крайней мере, указанным количеством времени. См. Раздел 16.3.9, "Задержанная Репликация".

Есть много решений, доступных для установки репликации между двумя серверами, но лучший метод, чтобы использовать зависит от присутствия данных и типов механизма, которые Вы используете. Для получения дополнительной информации по доступным параметрам см. Раздел 16.1.1, "Как Установить Репликацию".

Есть два базовых типа формата репликации, Оператор Основанная Репликация (SBR), который тиражирует все SQL-операторы, и Построчную репликацию (RBR), который тиражирует только измененные строки. Можно также использовать третье разнообразие, Смешанная Основанная Репликация (MBR). Для получения дополнительной информации по различным форматам репликации см. Раздел 16.1.2, "Форматы Репликации". В MySQL 5.7 основанный на операторе формат является значением по умолчанию.

MySQL 5.7 поддерживает репликацию транзакций, основанную на глобальных идентификаторах транзакции (GTIDs). При использовании этого типа репликации не необходимо работать непосредственно с файлами журнала или позициями в пределах этих файлов, который значительно упрощает много общих задач репликации. Поскольку репликация, используя GTIDs является полностью транзакционной, непротиворечивость между ведущим устройством и ведомым устройством гарантируется, пока все транзакции, фиксировавшие на ведущем устройстве, были также применены на ведомое устройство. Для получения дополнительной информации о GTIDs и GTID-на-основе репликации, см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".

Репликацией управляют через многие различные варианты и переменные. Они управляют базовой работой репликации, тайм-аутов, и баз данных и фильтров, которые могут быть применены на базы данных и таблицы. Для получения дополнительной информации по доступным параметрам см. Раздел 16.1.4, "Репликация и Двоичные Опции Журналирования и Переменные".

Можно использовать репликацию, чтобы решить много различных проблем, включая проблемы с производительностью, поддерживая резервное копирование различных баз данных, и как часть большего решения облегчить системные отказы. Для получения информации о том, как решить эти проблемы, см. Раздел 16.3, "Решения для Репликации".

Для примечаний и подсказок относительно того, как различные типы данных и операторы обрабатываются во время репликации, включая детали функций репликации, совместимость версии, обновления, и проблемы и их разрешение, включая FAQ, видит Раздел 16.4, "Примечания репликации и Подсказки".

Для получения дальнейшей информации на реализации репликации, как репликация работает, процесс и содержание двоичного журнала, фоновых потоков и правил, используемых, чтобы решить, как операторы записываются и репликация, см. Раздел 16.2, "Реализация Репликации".