19.2.3.1 Мониторинг основных потоков репликации
Выражение SHOW PROCESSLIST предоставляет информацию о том, что происходит на источнике и на реплике в отношении репликации. Для получения информации о состояниях источника см. Раздел 10.14.4, «Состояния потоков источника репликации». Для состояний реплики см. Раздел 10.14.5, «Состояния потоков ввода/вывода репликации (получатель)» и Раздел 10.14.6, «Состояния потоков SQL репликации».
Следующий пример иллюстрирует, как три основных потока репликации, поток выгрузки двоичного журнала, поток ввода/вывода репликации (получатель) и поток SQL репликации (применитель), отображаются в выводе из SHOW PROCESSLIST.
На сервере источника вывод из SHOW
PROCESSLIST выглядит следующим образом:
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
Id: 2
User: root
Host: localhost:32931
db: NULL
Command: Binlog Dump
Time: 94
State: Has sent all binlog to slave; waiting for binlog to
be updated
Info: NULL
Здесь поток 2 — это Binlog Dump поток, обслуживающий подключенную реплику. Информация State указывает, что все ожидающие обновления были отправлены реплике, и что источник ожидает появления новых обновлений. Если вы не видите ни одного потока Binlog Dump на сервере источника, это означает, что репликация не выполняется; то есть, в настоящее время нет подключенных реплик.
На сервере реплики вывод из SHOW
PROCESSLIST выглядит так:
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
Id: 10
User: system user
Host:
db: NULL
Command: Connect
Time: 11
State: Waiting for master to send event
Info: NULL
*************************** 2. row ***************************
Id: 11
User: system user
Host:
db: NULL
Command: Connect
Time: 11
State: Has read all relay log; waiting for the slave I/O
thread to update it
Info: NULL
Информация State указывает, что поток 10 — это поток ввода/вывода репликации (получатель), который общается с сервером источника, а поток 11 — это поток SQL репликации (применитель), который обрабатывает обновления, сохраненные в журналах репликации. В момент выполнения SHOW PROCESSLIST оба потока были бездействующими, ожидая дальнейших обновлений.
Значение в столбце Time может показать, насколько отстаёт реплика от источника. См. Раздел A.14, «MySQL 9.2 FAQ: Репликация». Если достаточно времени проходит на стороне источника без активности в потоке Binlog
Dump, источник определяет, что реплика больше не подключена. Как и для любого другого подключения клиента, таймауты зависят от значений net_write_timeout и net_retry_count; для получения дополнительной информации об этом см. Раздел 7.1.8, «Системные переменные сервера».
Выражение SHOW REPLICA STATUS предоставляет дополнительную информацию о обработке репликации на сервере реплики. См. Раздел 19.1.7.1, «Проверка состояния репликации».
Вы также можете получить информацию о потоках Binlog Dump источника с помощью следующего:
SELECT * FROM performance_schema.threads WHERE PROCESSLIST_COMMAND LIKE "Binlog Dump%"
Binlog Dump% используется для получения либо Binlog Dump, либо Binlog Dump
GTID, в зависимости от режима выгрузки binlog.
© 2025 Oracle
Licensed under the GPLv2 License.