Spec-Zone .ru
спецификации, руководства, описания, API
|
Следующие немного разделов содержат информацию о 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, "Устанавливая Ведомую
Конфигурацию Репликации".
В MySQL 5.7 сервер генерирует истинный UUID в дополнение к --server-id
предоставленный пользователем. Это доступно как глобальная переменная,
переменная только для чтения server_uuid
.
Системное Имя переменной | server_uuid
|
||
Переменный Контекст | Глобальная переменная | ||
Динамическая Переменная | Нет | ||
Разрешенные Значения | |||
Ввести | string |
Запускаясь, сервер MySQL автоматически получает 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
существует.
Ведущее устройство server_uuid
изменился, хотя нет CHANGE MASTER TO
оператор когда-либо выполнялся.
Добавление server_uuid
системная переменная в MySQL 5.7 не изменяет требование для того, чтобы установить уникальное --server-id
для каждого сервера MySQL как часть подготовки и рабочей репликации MySQL, как описано ранее в этом разделе.