Spec-Zone.ru › MySQL 8.4

19.2.3 Потоки репликации

  • 19.2.3.1 Мониторинг основных потоков репликации
  • 19.2.3.2 Мониторинг потоков обработки репликации

Функциональность MySQL репликации реализуется с использованием следующих типов потоков:

  • Поток считывания двоичного журнала. Источник создаёт поток для отправки содержимого двоичного журнала реплике при подключении реплики. Этот поток можно идентифицировать в выводе команды SHOW PROCESSLIST на источнике как поток Binlog Dump.

  • Поток приёма I/O репликации. Когда на сервере реплики выполняется команда START REPLICA, реплика создаёт поток I/O (приёмник), который подключается к источнику и запрашивает отправку обновлений, записанных в его двоичных журналах.

    Поток приёма репликации считывает обновления, которые отправляет поток Binlog Dump источника (см. предыдущий пункт), и копирует их в локальные файлы, составляющие релейный журнал реплики.

    Состояние этого потока отображается как Slave_IO_running в выводе команды SHOW REPLICA STATUS.

  • Поток применения SQL репликации. Когда replica_parallel_workers равно 0, реплика создаёт поток SQL (применитель) для чтения релейного журнала, записанного потоком приёма репликации, и выполнения транзакций, содержащихся в нём. Когда replica_parallel_workers равно N >= 1, имеется N потоков применителя и один координирующий поток, который последовательно считывает транзакции из релейного журнала и планирует их применение потоками обработки. Каждый рабочий поток применяет транзакции, назначенные ему координирующим потоком.

Вы можете включить дальнейшую параллелизацию задач на реплике, установив системную переменную replica_parallel_workers на значение больше 0. В этом случае реплика создаёт указанное количество потоков обработки транзакций плюс координирующий поток, который считывает транзакции из релейного журнала и назначает их рабочим потокам. Реплика с replica_parallel_workers (slave_parallel_workers) установленным значением больше 0 называется многопоточной репликой. Если вы используете несколько каналов репликации, для каждого канала устанавливается количество потоков, указанное с помощью этой переменной.

Многопоточные реплики также поддерживаются NDB Cluster. Дополнительную информацию см. в Разделе 25.7.11, «NDB Cluster Replication Using the Multithreaded Applier».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/replication-threads.html

Spec-Zone.ru

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