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

16.1.4. Репликация и Двоичные Опции Журналирования и Переменные

16.1.4.1. Репликация и Двоичная Опция Журналирования и Переменная Ссылка
16.1.4.2. Ведущие Опции репликации и Переменные
16.1.4.3. Ведомые Опции репликации и Переменные
16.1.4.4. Двоичные Опции Журнала и Переменные
16.1.4.5. Глобальные Опции ID Транзакции и Переменные

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

Из особого значения --server-id опция.

Формат командной строки --server-id=#
Формат файла опции server-id
Системное Имя переменной server_id
Переменный Контекст Глобальная переменная
Динамическая Переменная Да
Разрешенные Значения
Ввести numeric
Значение по умолчанию 0
Диапазон 0 .. 4294967295

Эта опция характерна и для основных и для ведомых серверов репликации, и используется в репликации, чтобы позволить основным и ведомым серверам идентифицировать себя уникально. Для дополнительной информации см. Раздел 16.1.4.2, "Ведущие Опции репликации и Переменные", и Раздел 16.1.4.3, "Ведомые Опции репликации и Переменные".

На ведущем устройстве и каждом ведомом устройстве, следует использовать --server-id опция, чтобы установить уникальный ID репликации в диапазоне от 1 до 232 – 1. "Уникальный", средства, что каждый ID должен отличаться от любого ID в использовании любым другим ведущим устройством репликации или ведомым устройством. Пример: server-id=3.

Если Вы опускаете --server-id, ID значения по умолчанию 0, когда ведущее устройство отказывается от соединений от всех ведомых устройств, и ведомое устройство отказывается соединиться с ведущим устройством. Для получения дополнительной информации см. Раздел 16.1.1.2, "Устанавливая Ведомую Конфигурацию Репликации".

server_uuid

В MySQL 5.7 сервер генерирует истинный UUID в дополнение к --server-id предоставленный пользователем. Это доступно как глобальная переменная, переменная только для чтения server_uuid.

Системное Имя переменной server_uuid
Переменный Контекст Глобальная переменная
Динамическая Переменная Нет
Разрешенные Значения
Ввести string

Запускаясь, сервер MySQL автоматически получает UUID следующим образом:

  1. Попытайтесь считать и использовать UUID, записанный в файле data_dir/auto.cnf (где data_dir каталог данных сервера); выход на успехе.

  2. Иначе, генерируйте новый UUID и сохраните его к этому файлу, создавая файл в случае необходимости.

auto.cnf у файла есть формат, подобный используемому для my.cnf или my.ini файлы. В MySQL 5.7, auto.cnf имеет только сингл [auto] раздел, содержащий сингл server_uuid установка и значение; содержание файла кажется подобным тому, что показывают здесь:

[auto]server_uuid=8a94f357-aab4-11df-86ab-c80aa9429562
Важный

auto.cnf файл автоматически сгенерирован; недопустимо попытаться записать или изменить этот файл.

При использовании репликации MySQL ведущие устройства и ведомые устройства знают UUIDs друг друга. Значение UUID ведомого устройства может быть замечено в выводе SHOW SLAVE HOSTS. Однажды START SLAVE был выполнен (но не прежде), значение UUID ведущего устройства доступно на ведомом устройстве в выводе SHOW SLAVE STATUS.

Отметить

Издание a STOP SLAVE или RESET SLAVE оператор не сбрасывает UUID ведущего устройства как использующийся на ведомом устройстве.

Сервер server_uuid также используется в GTIDs для транзакций, происходящих на том сервере. Для получения дополнительной информации см. Раздел 16.1.3, "Репликация с Глобальными Идентификаторами транзакции".

Запускаясь, ведомый поток ввода-вывода генерирует ошибку и прерывается, если UUID ее ведущего устройства не равен ее собственному если --replicate-same-server-id опция была установлена. Кроме того, ведомый поток ввода-вывода генерирует предупреждение, если любое из следующего является истиной:

Отметить

Добавление server_uuid системная переменная в MySQL 5.7 не изменяет требование для того, чтобы установить уникальное --server-id для каждого сервера MySQL как часть подготовки и рабочей репликации MySQL, как описано ранее в этом разделе.