СТАТУС РАБА
Синтаксис
SHOW SLAVE ["connection_name"] STATUS [FOR CHANNEL "connection_name"] SHOW REPLICA ["connection_name"] STATUS -- From MariaDB 10.5.1
или
SHOW ALL SLAVES STATUS SHOW ALL REPLICAS STATUS -- From MariaDB 10.5.1
Описание
Эта команда выполняется на реплике и предоставляет информацию о статусе ключевых параметров потоков репликации реплики.
Эта команда требует привилегии SUPER, привилегии REPLICATION_CLIENT или, начиная с MariaDB 10.5.2, привилегии REPLICATION SLAVE ADMIN, или, начиная с MariaDB 10.5.9, привилегии REPLICA MONITOR.
Мульти-источник
Параметры ALL и "connection_name" позволяют подключаться к нескольким первичным узлам одновременно.
ALL SLAVES (или ALL REPLICAS начиная с MariaDB 10.5.1) предоставляет список всех подключений к первичным узлам.
Строки будут отсортированы по Connection_name.
Если вы укажете connection_name, вы получите информацию только об этом подключении. Если connection_name не используется, то используется имя, заданное default_master_connection. Если имя подключения не существует, вы получите ошибку: There is no master connection for 'xxx'.
Ключевое слово FOR CHANNEL было добавлено для совместимости с MySQL. Это идентично прямому использованию channel_name после SHOW SLAVE.
Описание столбцов
Порядок столбцов зависит от версии MariaDB. Это означает, что извлечение значения столбца лучше выполнять, сравнивая имя поля, а не используя фиксированный смещение в строке.
| Имя | Описание |
|---|---|
| Connection_name | Имя основного подключения. Возвращается с SHOW ALL SLAVES STATUS (или SHOW ALL REPLICAS STATUS из MariaDB 10.5.1) только. |
| Slave_SQL_State | Состояние потока SQL. Возвращается с SHOW ALL SLAVES STATUS (или SHOW ALL REPLICAS STATUS из MariaDB 10.5.1) только. См. Состояния потока SQL репликации. |
| Slave_IO_State | Состояние потока ввода-вывода. См. Состояния потока ввода-вывода репликации. |
| Master_host | Хост-мастер, к которому подключена реплика. |
| Master_user | Имя пользователя учетной записи, используемой для подключения к первичному серверу. |
| Master_port | Порт, используемый для подключения к первичному серверу. |
| Connect_Retry | Время в секундах между повторными попытками подключения. По умолчанию 60. Это значение может быть установлено оператором CHANGE MASTER TO. Параметр master-retry-count определяет максимальное количество попыток повторного подключения. |
| Master_Log_File | Имя файла первичного бинарного журнала, из которого в данный момент читает поток ввода-вывода. |
| Read_Master_Log_Pos | Позиция, до которой поток ввода-вывода прочитал в текущем файле первичного бинарного журнала. |
| Relay_Log_File | Имя файла журнала ретрансляции, который в данный момент обрабатывает поток SQL. |
| Relay_Log_Pos | Позиция, до которой поток SQL завершил обработку в текущем файле журнала ретрансляции. |
| Relay_Master_Log_File | Имя файла первичного бинарного журнала, содержащего последнее событие, выполненное потоком SQL. |
| Slave_IO_Running | Запущен ли поток ввода-вывода реплики и подключен ли он (Yes), запущен, но не подключен к первичному серверу (Connecting) или не запущен (No). |
| Slave_SQL_Running | Запущен ли поток SQL. |
| Replicate_Rewrite_DB | Базы данных, указанные для репликации и переписывания с параметром replicate_rewrite_db. Добавлен в MariaDB 10.11
|
| Replicate_Do_DB | Базы данных, указанные для репликации с параметром replicate_do_db. |
| Replicate_Ignore_DB | Базы данных, указанные для игнорирования с параметром replicate_ignore_db. |
| Replicate_Do_Table | Таблицы, указанные для репликации с параметром replicate_do_table. |
| Replicate_Ignore_Table | Таблицы, указанные для игнорирования с параметром replicate_ignore_table. |
| Replicate_Wild_Do_Table | Таблицы, указанные для репликации с параметром replicate_wild_do_table. |
| Replicate_Wild_Ignore_Table | Таблицы, указанные для игнорирования с параметром replicate_wild_ignore_table. |
| Last_Errno | Псевдоним для Last_SQL_Errno (см. ниже) |
| Last Error | Псевдоним для Last_SQL_Error (см. ниже) |
| Skip_Counter | Количество событий, пропущенных репликой от мастера, как записано в системной переменной sql_slave_skip_counter. |
| Exec_Master_Log_Pos | Позиция, до которой поток SQL обработался в текущем первичном файле бинарного журнала. Может быть использована для запуска новой реплики от текущей реплики с опцией CHANGE MASTER TO ... MASTER_LOG_POS. |
| Relay_Log_Space | Общий размер всех файлов журнала ретрансляции. |
| Until_Condition | |
| Until_Log_File | Значение MASTER_LOG_FILE условия START SLAVE UNTIL. |
| Until_Log_Pos | Значение MASTER_LOG_POS условия START SLAVE UNTIL. |
| Master_SSL_Allowed | Разрешено ли SSL-соединение (Yes), не разрешено (No) или разрешено, но без поддержки SSL в реплике (Ignored) |
| Master_SSL_CA_File | Параметр MASTER_SSL_CA оператора CHANGE MASTER TO. |
| Master_SSL_CA_Path | Параметр MASTER_SSL_CAPATH оператора CHANGE MASTER TO. |
| Master_SSL_Cert | Параметр MASTER_SSL_CERT оператора CHANGE MASTER TO. |
| Master_SSL_Cipher | Параметр MASTER_SSL_CIPHER оператора CHANGE MASTER TO. |
| Master_SSL_Key | Параметр MASTER_SSL_KEY оператора CHANGE MASTER TO. |
| Seconds_Behind_Master | Разница между отметкой времени, залогированной на мастере для события, которое в данный момент обрабатывает реплика, и текущим отметкой времени на реплике. Ноль, если реплика в данный момент не обрабатывает событие. При последовательной репликации seconds_behind_master обновляется, когда поток SQL начинает выполнять транзакцию. При параллельной репликации seconds_behind_master обновляется только после подтверждения транзакций. Начиная с MariaDB 10.3.38, 10.4.28, 10.5.19, 10.6.12, 10.8.7, 10.9.5, 10.10.3 и 10.11.2 для параллельной реплики дополнительно обновляется seconds_behind_master, когда первая полученная после простоя транзакция помещается в очередь для выполнения рабочему процессу, чтобы обеспечить надежное начальное значение для времени ожидания подтверждения транзакции. Дополнительные моменты, о которых следует знать: 1) Seconds_Behind_Master обновится для пропущенных событий, например, тех, которые пропущены из-за sql_slave_skip_counter. 2) В последовательной реплике транзакции с более ранними отметками времени могут обновлять Seconds_Behind_Master, так что она может двигаться назад, хотя это неверно для параллельной реплики. 3) При настройке с MASTER_DELAY, когда начинается выполнение реплицированной транзакции (т.е. в последовательной или после простоя параллельной реплике), Seconds_Behind_Master будет обновлено до задержки, а во время задержки будет увеличиваться до включения заданного значения. 4) Есть известная проблема, отслеживаемая по MDEV-17516, в результате которой Seconds_Behind_Master первоначально отображается как 0 при перезапуске реплики, пока не начнется выполнение реплицированной транзакции, даже если последняя сессия реплики отставала при остановке. |
| Master_SSL_Verify_Server_Cert | Параметр MASTER_SSL_VERIFY_SERVER_CERT оператора CHANGE MASTER TO. |
| Last_IO_Errno | Код ошибки ошибки, которая в последний раз привела к остановке потока ввода-вывода (также записано в журнале ошибок реплики). 0 означает отсутствие ошибки. RESET SLAVE или RESET MASTER сбросят это значение. |
| Last_IO_Error | Сообщение об ошибке ошибки, которая в последний раз привела к остановке потока ввода-вывода (также записано в журнале ошибок реплики). Пустая строка означает отсутствие ошибки. RESET SLAVE или RESET MASTER сбросят это значение. |
| Last_SQL_Errno | Код ошибки ошибки, которая в последний раз привела к остановке потока SQL (также записано в журнале ошибок реплики). 0 означает отсутствие ошибки. RESET SLAVE или RESET MASTER сбросят это значение. |
| Last_SQL_Error | Сообщение об ошибке ошибки, которая в последний раз привела к остановке потока SQL (также записано в журнале ошибок реплики). Пустая строка означает отсутствие ошибки. RESET SLAVE или RESET MASTER сбросят это значение. |
| Replicate_Ignore_Server_Ids | Список server_ids, которые в данный момент игнорируются для репликации, или пустая строка, если нет, как указано в IGNORE_SERVER_IDS операторе CHANGE MASTER TO. |
| Master_Server_Id | Значение server_id мастера. |
| Master_SSL_Crl | Параметр MASTER_SSL_CRL оператора CHANGE MASTER TO. |
| Master_SSL_Crlpath | Параметр MASTER_SSL_CRLPATH оператора CHANGE MASTER TO. |
| Using_Gtid | Используются ли глобальные идентификаторы транзакций для репликации (может быть No, Slave_Pos, или Current_Pos). |
| Gtid_IO_Pos | Текущее значение глобального идентификатора транзакции. |
| Retried_transactions | Количество повторно выполненных транзакций для этого подключения. Возвращается с SHOW ALL SLAVES STATUS только. |
| Max_relay_log_size | Максимальный размер журнала ретрансляции для этого подключения. Возвращается с SHOW ALL SLAVES STATUS только. |
| Executed_log_entries | Сколько записей журнала выполнила реплика. Возвращается с SHOW ALL SLAVES STATUS только. |
| Slave_received_heartbeats | Сколько сердечных ударов получено от мастера. Возвращается с SHOW ALL SLAVES STATUS только. |
| Slave_heartbeat_period | Как часто запрашивать пакет сердечного удара у мастера (в секундах). Возвращается с SHOW ALL SLAVES STATUS только. |
| Gtid_Slave_Pos | GTID последней группы событий, реплицированных на сервере реплики, для каждого домена репликации, как хранится в системной переменной gtid_slave_pos. Возвращается с SHOW ALL SLAVES STATUS только. |
| SQL_Delay | Значение, заданное MASTER_DELAY в CHANGE MASTER (или 0, если отсутствует). |
| SQL_Remaining_Delay | Если репликация задерживает выполнение события из-за MASTER_DELAY, это количество оставшихся секунд задержки перед применением события. В противном случае значение равно NULL. |
| Slave_SQL_Running_State | Состояние потоков драйвера SQL, такое же, как в SHOW PROCESSLIST. Если репликация задерживает выполнение события из-за MASTER_DELAY, в этом поле отображается: "Waiting until MASTER_DELAY seconds after master executed event". |
| Slave_DDL_Groups | Эта переменная состояния подсчитывает количество инструкций DDL. Это счетчик на стороне реплики для оптимистичной параллельной репликации. |
| Slave_Non_Transactional_Groups | Эта переменная состояния подсчитывает количество групп событий без транзакций. Это счетчик на стороне реплики для оптимистичной параллельной репликации. |
| Slave_Transactional_Groups | Эта переменная состояния подсчитывает количество групп событий с транзакциями. Это счетчик на стороне реплики для оптимистичной параллельной репликации. |
СТАТУС РЕПЛИКАЦИИ (SHOW REPLICA STATUS)
SHOW REPLICA STATUS является псевдонимом для SHOW SLAVE STATUS из MariaDB 10.5.1.
Примеры
Если вы выполните эту команду с помощью клиента mariadb, вы можете использовать терминатор команды вместо точки с запятой для получения более удобочитаемого вертикального вывода.\G
SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: db01.example.com
Master_User: replicant
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mariadb-bin.000010
Read_Master_Log_Pos: 548
Relay_Log_File: relay-bin.000004
Relay_Log_Pos: 837
Relay_Master_Log_File: mariadb-bin.000010
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 548
Relay_Log_Space: 1497
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 101
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
SHOW ALL SLAVES STATUS\G
*************************** 1. row ***************************
Connection_name:
Slave_SQL_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Slave_IO_State: Waiting for master to send event
Master_Host: db01.example.com
Master_User: replicant
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mariadb-bin.000010
Read_Master_Log_Pos: 3608
Relay_Log_File: relay-bin.000004
Relay_Log_Pos: 3897
Relay_Master_Log_File: mariadb-bin.000010
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 3608
Relay_Log_Space: 4557
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 101
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Retried_transactions: 0
Max_relay_log_size: 104857600
Executed_log_entries: 40
Slave_received_heartbeats: 11
Slave_heartbeat_period: 1800.000
Gtid_Slave_Pos: 0-101-2320
Вы также можете получить доступ к некоторым переменным непосредственно из переменных состояния:
SET @@default_master_connection="test" ; show status like "%slave%" Variable_name Value Com_show_slave_hosts 0 Com_show_slave_status 0 Com_start_all_slaves 0 Com_start_slave 0 Com_stop_all_slaves 0 Com_stop_slave 0 Rpl_semi_sync_slave_status OFF Slave_connections 0 Slave_heartbeat_period 1800.000 Slave_open_temp_tables 0 Slave_received_heartbeats 0 Slave_retried_transactions 0 Slave_running OFF Slaves_connected 0 Slaves_running 1
См. также
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/show-slave-status/