Spec-Zone.ru › MySQL 5.7

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.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/replication-threads-monitor-main.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API