16.2.3.1 Мониторинг основных потоков репликации
Оператор SHOW PROCESSLIST предоставляет информацию о происходящем на сервере-источнике и реплике в контексте репликации. Для получения информации о состояниях источника, см. Раздел 8.14.5, «Состояния потоков источника репликации». Для состояний реплики, см. Раздел 8.14.6, «Состояния ввода-вывода потоков реплики» и Раздел 8.14.7, «Состояния потоков 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, это означает, что репликация не запущена; другими словами, в данный момент нет подключённых реплик.
На сервере-реплике вывод оператора 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
Информация о потоке показывает, что поток 10 — это поток ввода-вывода репликации, который взаимодействует с сервером-источником, а поток 11 — это поток SQL репликации, который обрабатывает обновления, хранящиеся в журналах репликации. В момент выполнения оператора SHOW PROCESSLIST оба потока были в состоянии ожидания, ожидая дальнейших обновлений.
Значение в столбце Time может показать, насколько отстаёт реплика от источника. См. Раздел A.14, «MySQL 5.7 FAQ: Репликация». Если на стороне источника проходит достаточное время без активности в потоке Binlog
Dump, источник определяет, что реплика больше не подключена. Как и для любых других клиентских подключений, таймауты зависят от значений net_write_timeout и net_retry_count; дополнительная информация о них доступна в Разделе 5.1.7, «Системные переменные сервера».
Оператор SHOW SLAVE STATUS предоставляет дополнительную информацию о процессе репликации на сервере-реплике. См. Раздел 16.1.7.1, «Проверка состояния репликации».
© 2025 Oracle
Licensed under the GPLv2 License.