Spec-Zone.ru › MySQL 9.2

19.4.10.1 Установка полусинхронной репликации

Полусинхронная репликация реализуется с помощью плагинов, которые необходимо установить на источник и на реплики, чтобы сделать полусинхронную репликацию доступной на экземплярах. Существуют разные плагины для источника и для реплики. После установки плагина вы управляете им с помощью системных переменных, связанных с ним. Эти системные переменные доступны только при установке связанного плагина.

В этом разделе описывается, как установить плагины полусинхронной репликации. Дополнительную информацию об установке плагинов см. в разделе 7.6.1, «Установка и удаление плагинов».

Для использования полусинхронной репликации должны быть выполнены следующие требования:

  • Возможность установки плагинов требует сервер MySQL, который поддерживает динамическую загрузку. Для проверки этого проверьте, что значение системной переменной have_dynamic_loading равно YES. Бинарные дистрибутивы должны поддерживать динамическую загрузку.

  • Репликация должна уже работать, см. раздел 19.1, «Настройка репликации».

  • Не должно быть настроено несколько каналов репликации. Полусинхронная репликация совместима только с каналом репликации по умолчанию. См. раздел 19.2.2, «Каналы репликации».

Суффикс имени файла для файлов библиотеки плагина отличается в зависимости от платформы (например, .so для систем Unix и Unix-подобных систем и .dll для Windows). Имена плагина и файла библиотеки следующие:

  • Сервер источника: плагин rpl_semi_sync_source (библиотека semisync_source.so или semisync_source.dll)

  • Реплика: плагин rpl_semi_sync_replica (библиотека semisync_replica.so или semisync_replica.dll)

Для использования библиотекой плагина на сервере источника или реплики соответствующий файл библиотеки плагина должен находиться в каталоге плагинов MySQL (каталог, указанный системной переменной plugin_dir). При необходимости настройте расположение каталога плагинов, задав значение plugin_dir при запуске сервера. Файл библиотеки плагина источника должен присутствовать в каталоге плагинов сервера источника. Файл библиотеки плагина реплики должен присутствовать в каталоге плагинов каждого сервера реплики.

Для настройки полусинхронной репликации используйте следующие инструкции. Указанные здесь операторы INSTALL PLUGIN, SET GLOBAL, STOP REPLICA и START REPLICA требуют привилегии REPLICATION_SLAVE_ADMIN (или устаревшей привилегии SUPER).

Для загрузки плагинов используйте оператор INSTALL PLUGIN на источнике и на каждой реплике, которая должна быть полусинхронной, при необходимости изменяя суффикс .so для вашей платформы.

На источнике:

INSTALL PLUGIN rpl_semi_sync_source SONAME 'semisync_source.so';

На каждой реплике:

INSTALL PLUGIN rpl_semi_sync_replica SONAME 'semisync_replica.so';

Если попытка установки плагина приводит к ошибке на Linux, подобной показанной здесь, необходимо установить libimf:

mysql> INSTALL PLUGIN rpl_semi_sync_source SONAME 'semisync_source.so';
ERROR 1126 (HY000): Can't open shared library
'/usr/local/mysql/lib/plugin/semisync_source.so'
(errno: 22 libimf.so: cannot open shared object file:
No such file or directory)

Вы можете получить libimf с https://dev.mysql.com/downloads/os-linux.html.

Чтобы проверить установку плагина, просмотрите таблицу Информационной схемы PLUGINS или используйте оператор SHOW PLUGINS (см. раздел 7.6.2, «Получение информации о плагинах сервера»). Например:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE '%semi%';
+----------------------+---------------+
| PLUGIN_NAME          | PLUGIN_STATUS |
+----------------------+---------------+
| rpl_semi_sync_source | ACTIVE        |
+----------------------+---------------+

Если плагин не инициализируется, проверьте журнал ошибок сервера на наличие диагностических сообщений.

После установки плагина полусинхронной репликации он по умолчанию отключен. Для включения полусинхронной репликации плагины должны быть включены как на стороне источника, так и на стороне реплики. Если включен только один из концов, репликация асинхронна. Для включения плагинов установите соответствующую системную переменную во время выполнения, используя SET GLOBAL, или при запуске сервера в командной строке или в файле параметров. Например:

SET GLOBAL rpl_semi_sync_source_enabled = 1;
SET GLOBAL rpl_semi_sync_replica_enabled = 1;

Если вы включаете полусинхронную репликацию на реплике во время выполнения, вы также должны запустить поток ввода/вывода репликации (приёмник) (сперва остановив его, если он уже запущен), чтобы реплика подключилась к источнику и зарегистрировалась как полусинхронная реплика:

STOP REPLICA IO_THREAD;
START REPLICA IO_THREAD;

Если поток ввода/вывода репликации (приёмник) уже запущен, и вы его не перезапускаете, реплика продолжает использовать асинхронную репликацию.

Настройка, указанная в файле параметров, вступает в силу каждый раз при запуске сервера. Например, вы можете установить переменные в файлах my.cnf на серверах источника и реплики следующим образом. На источнике:

[mysqld]
rpl_semi_sync_source_enabled=1

На каждой реплике:

[mysqld]
rpl_semi_sync_replica_enabled=1

Вы можете настроить поведение плагинов полусинхронной репликации, используя системные переменные, которые становятся доступными при установке плагинов. Сведения о ключевых системных переменных см. в разделе 19.4.10.2, «Настройка полусинхронной репликации».

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

Spec-Zone.ru

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