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

16.2.2.2. Ведомые Журналы Состояния

Ведомый сервер репликации создает два журнала. По умолчанию эти журналы являются названными файлами master.info и relay-log.info и создаваемый в каталоге данных. Названия и местоположение этих файлов могут быть изменены при использовании --master-info-file и --relay-log-info-file опции, соответственно. В MySQL 5.7, или или оба из этих журналов может также быть записан таблицам в mysql база данных, запуская сервер с соответствующей опции: использовать --master-info-repository иметь основной журнал информации, записанный mysql.slave_master_info таблица, и использование --relay-log-info-repository иметь релейный журнал информации журнала, записанный mysql.slave_relay_log_info таблица. См. Раздел 16.1.4, "Репликация и Двоичные Опции Журналирования и Переменные".

Два журнала состояния содержат информацию как показанный в выводе SHOW SLAVE STATUS оператор, который обсуждается в Разделе 13.4.2, "SQL-операторы для Управления Ведомыми Серверами". Поскольку журналы состояния сохранены на диске, они переживают завершение работы ведомого сервера. В следующий раз, когда ведомое устройство запускает, оно читает два журнала, чтобы определить, как далеко оно продолжилось в чтении двоичных журналов от ведущего устройства и в обработке его собственных релейных журналов.

Основной файл журнала информации или таблица должны быть защищены, потому что это содержит пароль для того, чтобы соединиться с ведущим устройством. См. Раздел 6.1.2.3, "Пароли и Журналирование".

Ведомый поток ввода-вывода обновляет основной журнал информации. Следующая таблица показывает корреспонденцию между строками в master.info файл, столбцы в mysql.slave_master_info таблица, и столбцы, выведенные на экран SHOW SLAVE STATUS.

Строка в master.info Файл slave_master_info Столбец таблицы SHOW SLAVE STATUS Столбец Описание
1 Number_of_lines [Ни один] Число строк в файле
2 Master_log_name Master_Log_File Имя основного двоичного файла регистрирует в настоящий момент считанный от ведущего устройства
3 Master_log_pos Read_Master_Log_Pos Текущая позиция в пределах основного двоичного журнала, которые были считаны от ведущего устройства
4 Host Master_Host Имя хоста ведущего устройства
5 User Master_User Имя пользователя, используемое, чтобы соединиться с ведущим устройством
6 User_password Пароль (не показанный SHOW SLAVE STATUS) Пароль, используемый, чтобы соединиться с ведущим устройством
7 Port Master_Port Сетевой порт, используемый, чтобы соединиться с ведущим устройством
8 Connect_retry Connect_Retry Период (в секундах), который ведомое устройство будет ожидать прежде, чем попытаться повторно соединить с ведущим устройством
9 Enabled_ssl Master_SSL_Allowed Указывает, поддерживает ли сервер соединения SSL
10 Ssl_ca Master_SSL_CA_File Файл используется для Центра сертификации (CA) сертификат
11 Ssl_capath Master_SSL_CA_Path Путь к Центру сертификации (CA) сертификаты
12 Ssl_cert Master_SSL_Cert Имя файла сертификата SSL
13 Ssl_cipher Master_SSL_Cipher Список возможных шифров используется в квитировании для соединения SSL
14 Ssl_key Master_SSL_Key Имя файла ключей SSL
15 Ssl_verify_server_cert Master_SSL_Verify_Server_Cert Проверить ли сертификат сервера
16 Heartbeat [Ни один] Интервал между биениями репликации, в секундах
17 Bind Master_Bind Какой из сетевых интерфейсов ведомого устройства должен использоваться для того, чтобы соединиться с ведущим устройством
18 Ignored_server_ids Replicate_Ignore_Server_Ids Число ID сервера, которые будут проигнорированы, сопровождаемый фактическим serverIDs
19 Uuid Master_UUID Уникальный ID ведущего устройства
20 Retry_count Master_Retry_Count Максимальное количество перепопыток подключения разрешается

Ведомый поток SQL обновляет релейный журнал информации журнала. В MySQL 5.7, relay-log.info файл включает количество строки и значение задержки репликации. Следующая таблица показывает корреспонденцию между строками в relay-log.info файл, столбцы в mysql.slave_relay_log_info таблица, и столбцы, выведенные на экран SHOW SLAVE STATUS.

Строка в relay-log.info slave_relay_log_info Столбец таблицы SHOW SLAVE STATUS Столбец Описание
1 Number_of_lines [Ни один] Число строк в файле или строк в таблице
2 Relay_log_name Relay_Log_File Имя текущего релейного файла журнала
3 Relay_log_pos Relay_Log_Pos Текущая позиция в пределах релейного файла журнала; события до этой позиции были выполнены на ведомой базе данных
4 Master_log_name Relay_Master_Log_File Имя основного двоичного файла журнала, из которого были считаны события в релейном файле журнала
5 Master_log_pos Exec_Master_Log_Pos Эквивалентная позиция в пределах двоичного файла журнала ведущего устройства eventsthat была уже выполнена
5 Sql_delay SQL_Delay Число секунд, что ведомое устройство должно изолировать ведущее устройство

В более старых версиях MySQL (до MySQL 5.6), relay-log.info файл не включает количество строки или значение задержки (и slave_relay_log_info таблица не доступна).

Строка Столбец состояния Описание
1 Relay_Log_File Имя текущего релейного файла журнала
2 Relay_Log_Pos Текущая позиция в пределах релейного файла журнала; события до этой позиции были выполнены на ведомой базе данных
3 Relay_Master_Log_File Имя основного двоичного файла журнала, из которого были считаны события в релейном файле журнала
4 Exec_Master_Log_Pos Эквивалентная позиция в пределах двоичного файла журнала ведущего устройства eventsthat была уже выполнена
Отметить

Если Вы понижаете ведомый сервер к версии, более старой чем MySQL 5.6, более старый сервер не читает relay-log.info зарегистрируйте правильно. Чтобы адресовать это, измените файл в текстовом редакторе, удаляя начальную строку, содержащую число строк.

Содержание relay-log.info файл и состояния, показанные SHOW SLAVE STATUS оператор не мог бы соответствовать если relay-log.info файл не был сброшен к диску. Идеально, следует только просмотреть relay-log.info на ведомом устройстве, которое является офлайновым (то есть, mysqld не работает). Для рабочей системы можно использовать SHOW SLAVE STATUS, или запрос slave_master_info и slave_relay_log_info таблицы, если Вы пишете журналы состояния в таблицы.

Когда Вы поддерживаете данные ведомого устройства, следует поддержать эти два журнала состояния, наряду с релейными файлами журнала. Журналы состояния необходимы, чтобы возобновить репликацию после того, как Вы восстанавливаете данные от ведомого устройства. Если Вы теряете релейные журналы, но все еще имеете релейный журнал информации журнала, можно проверить это, чтобы определить, как далеко поток SQL выполнился в основных двоичных журналах. Затем можно использовать CHANGE MASTER TO с MASTER_LOG_FILE и MASTER_LOG_POS опции, чтобы сказать ведомому устройству перечитывать двоичные журналы от той точки. Конечно, это требует, чтобы двоичные журналы все еще существовали на ведущем устройстве.