Spec-Zone .ru
спецификации, руководства, описания, API
|
Ведомый сервер репликации создает два журнала. По умолчанию эти журналы являются названными файлами 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
опции, чтобы сказать ведомому устройству перечитывать двоичные
журналы от той точки. Конечно, это требует, чтобы двоичные журналы все еще существовали на ведущем устройстве.