Spec-Zone.ru › MySQL 9.2

14.18.1.5 Функции для установки и сброса действий участников группы репликации

Следующие функции могут быть использованы для включения и отключения действий участников группы в указанных ситуациях, а также для сброса конфигурации до значений по умолчанию для всех действий участников. Их могут использовать только администраторы с привилегией GROUP_REPLICATION_ADMIN или устаревшей привилегией SUPER.

Вы настраиваете действия участников на первичном узле группы, используя функции group_replication_enable_member_action и group_replication_disable_member_action. Конфигурация действий участников, включающая все действия участников и их состояние (включено/выключено), затем распространяется на других участников группы и присоединяющиеся участники с помощью групповых сообщений Group Replication. Это означает, что все участники группы будут действовать одинаково в указанной ситуации, и вам нужно использовать функцию только на первичном узле.

Функции также могут быть использованы на сервере, который не является частью группы, при условии, что плагин Group Replication установлен. В этом случае конфигурация действий участников не распространяется на другие сервера.

Функция group_replication_reset_member_actions может быть использована только на сервере, который не является частью группы. Она сбрасывает конфигурацию действий участников до значений по умолчанию и сбрасывает номер версии. Сервер должен быть доступен для записи (с переменной read_only системы установленной в значение OFF) и иметь установленный плагин Group Replication.

Доступные действия участников следующие:

mysql_disable_super_read_only_if_primary

Это действие участника выполняется после избрания участника главным узлом группы, что является событием AFTER_PRIMARY_ELECTION. Действие участника включено по умолчанию. Вы можете отключить его с помощью функции group_replication_disable_member_action(), и снова включить с помощью group_replication_enable_member_action().

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

Когда это действие участника отключено и не выполняется, главный узел остается в режиме супер-только-для-чтения после избрания. В этом состоянии он не принимает обновления от клиентов, даже от пользователей с привилегией CONNECTION_ADMIN или SUPER. Он продолжает принимать обновления, выполняемые репликационными потоками. Эта настройка означает, что когда цель группы — предоставить вторичную резервную копию другой группе для обеспечения отказоустойчивости, вы можете гарантировать, что вторичная группа остается синхронизированной с первой.

mysql_start_failover_channels_if_primary

Это действие участника выполняется после избрания участника главным узлом группы, что является событием AFTER_PRIMARY_ELECTION. Действие участника включено по умолчанию. Вы можете отключить его с помощью функции group_replication_disable_member_action(), и снова включить с помощью group_replication_enable_member_action().

Когда это действие участника включено, асинхронное переключение соединения для реплик активны для репликационного канала на первичном узле Group Replication, когда вы устанавливаете SOURCE_CONNECTION_AUTO_FAILOVER=1 в операторе CHANGE REPLICATION SOURCE TO для канала. Если функция активна и настроена правильно, если первичный узел, который выполняет репликацию, выходит из строя или попадает в состояние ошибки, новый первичный узел начинает репликацию в том же канале, когда он избран. Это обычная ситуация. Инструкции по настройке функции см. в разделе 19.4.9.2, «Асинхронное переключение соединения для реплик».

Когда это действие участника отключено, асинхронное переключение соединения для реплик не происходит. Если первичный узел выходит из строя или попадает в состояние ошибки, репликация для канала останавливается. Обратите внимание, что если существует более одного канала с SOURCE_CONNECTION_AUTO_FAILOVER=1, действие участника охватывает все каналы, поэтому их нельзя индивидуально включать и отключать этим методом. Установите SOURCE_CONNECTION_AUTO_FAILOVER=0, чтобы отключить отдельный канал.

Дополнительную информацию о действиях участников и о том, как просмотреть конфигурацию действий участников, см. в разделе 20.5.1.5, «Настройка действий участников».

  • group_replication_disable_member_action()

    Отключает действие участника, чтобы участник не выполнял его в указанной ситуации. Если сервер, на котором вы используете функцию, является частью группы, он должен быть текущим первичным узлом в группе в режиме одно-первичного узла, и он должен быть частью большинства. Изменённые настройки распространяются на других участников группы и присоединяющихся участников, поэтому они все будут действовать одинаково, когда окажутся в указанной ситуации, и вам нужно использовать функцию только на первичном узле.

    Синтаксис:

    STRING group_replication_disable_member_action(name, event)
    

    Аргументы:

    • name: Имя действия участника для отключения.

    • event: Событие, которое запускает действие участника.

    Возвращаемое значение:

    Строка, содержащая результат операции, например, был ли он успешным или нет.

    Пример:

    SELECT group_replication_disable_member_action("mysql_disable_super_read_only_if_primary", "AFTER_PRIMARY_ELECTION");
    

    Дополнительную информацию см. в разделе 20.5.1.5, «Настройка действий участников».

  • group_replication_enable_member_action()

    Включает действие участника для выполнения участником в указанной ситуации. Если сервер, на котором вы используете функцию, является частью группы, он должен быть текущим первичным узлом в группе в режиме одно-первичного узла, и он должен быть частью большинства. Изменённые настройки распространяются на других участников группы и присоединяющихся участников, поэтому они все будут действовать одинаково, когда окажутся в указанной ситуации, и вам нужно использовать функцию только на первичном узле.

    Синтаксис:

    STRING group_replication_enable_member_action(name, event)
    

    Аргументы:

    • name: Имя действия участника для включения.

    • event: Событие, которое запускает действие участника.

    Возвращаемое значение:

    Строка, содержащая результат операции, например, был ли он успешным или нет.

    Пример:

    SELECT group_replication_enable_member_action("mysql_disable_super_read_only_if_primary", "AFTER_PRIMARY_ELECTION");
    

    Дополнительную информацию см. в разделе 20.5.1.5, «Настройка действий участников».

  • group_replication_reset_member_actions()

    Сбрасывает конфигурацию действий участников до значений по умолчанию и сбрасывает номер версии до 1.

    Функция group_replication_reset_member_actions() может быть использована только на сервере, который в настоящее время не является частью группы. Сервер должен быть доступен для записи (с переменной read_only системы установленной в значение OFF) и иметь установленный плагин Group Replication. Вы можете использовать эту функцию для удаления конфигурации действий участников, которые сервер использовал, когда он был частью группы, если вы намерены использовать его как автономный сервер без действий участников или с другими действиями участников.

    Синтаксис:

    STRING group_replication_reset_member_actions()
    

    Аргументы:

    Нет.

    Возвращаемое значение:

    Строка, содержащая результат операции, например, был ли он успешным или нет.

    Пример:

    SELECT group_replication_reset_member_actions();
    

    Дополнительную информацию см. в разделе 20.5.1.5, «Настройка действий участников».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/group-replication-functions-for-member-actions.html

Spec-Zone.ru

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