14.18.3 Функции переключения канала асинхронной репликации
Следующие функции позволяют добавлять или удалять серверы-источники репликации в список источников для канала репликации, а также очищать список источников для данного сервера.
Таблица 14.27 Функции переключения канала
| Имя | Описание |
|---|---|
asynchronous_connection_failover_add_managed() | Добавить информацию о конфигурации сервера-источника в группу в список источников канала репликации |
asynchronous_connection_failover_add_source() | Добавить информацию о конфигурации сервера-источника в список источников канала репликации |
asynchronous_connection_failover_delete_managed() | Удалить управляемую группу из списка источников канала репликации |
asynchronous_connection_failover_delete_source() | Удалить сервер-источник из списка источников канала репликации |
asynchronous_connection_failover_reset() | Удалить все настройки, относящиеся к асинхронному переключению источников в группе репликации |
Механизм асинхронного переключения соединений автоматически устанавливает асинхронное (от источника к реплике) соединение репликации с новым источником из соответствующего списка после того, как существующее соединение от реплики к ее источнику прервётся. Соединение также меняется, если текущий подключённый источник не имеет наивысшего приоритета в группе. Для серверов-источников группы репликации, определённых как часть управляемой группы, соединение также переключается на другого члена группы, если текущий подключённый источник покидает группу или больше не является частью большинства. Для получения дополнительной информации о механизме см. Раздел 19.4.9, «Переключение источников и реплик с помощью асинхронного переключения соединения».
Списки источников хранятся в таблицах mysql.replication_asynchronous_connection_failover и mysql.replication_asynchronous_connection_failover_managed, и могут быть просмотрены в таблице схемы производительности replication_asynchronous_connection_failover.
Если канал репликации находится на первичном сервере группы репликации для группы, где активен процесс переключения между репликами, список источников транслируется всем членам группы при их присоединении или при обновлении любым способом. Переключение между репликами контролируется действием члена mysql_start_failover_channels_if_primary, которое включено по умолчанию, и может быть отключено с помощью функции group_replication_disable_member_action.
-
asynchronous_connection_failover_add_managed()Добавить конфигурационную информацию для сервера-источника репликации, который является частью управляемой группы (члена группы Group Replication), в список источников для канала репликации. Вам нужно добавить только одного члена группы. Реплика автоматически добавит остальные члены из текущего состава группы, а затем будет поддерживать список источников, обновляя его в соответствии с изменениями состава.
Синтаксис:
asynchronous_connection_failover_add_managed(
channel,managed_type,managed_name,host,port,network_namespace,primary_weight,secondary_weight)Аргументы:
channel: Канал репликации, для которого этот сервер-источник репликации входит в список источников.managed_type: Тип управляемой службы, которую механизм аварийного переключения асинхронного подключения должен предоставить для этого сервера. В настоящее время принимается только значениеGroupReplication.managed_name: Идентификатор управляемой группы, частью которой является сервер. Для управляемой службыGroupReplicationидентификатор — значение системной переменнойgroup_replication_group_name.host: Имя хоста для этого сервера-источника репликации.port: Номер порта для этого сервера-источника репликации.network_namespace: Имя пространства сети для этого сервера-источника репликации. Укажите пустую строку, так как этот параметр зарезервирован для будущего использования.primary_weight: Приоритет этого сервера-источника репликации в списке источников канала репликации, когда он выступает в качестве основного для управляемой группы. Значение веса от 1 до 100, причём 100 — наивысший приоритет. Для первичного сервера подходящим значением является 80. Механизм аварийного переключения асинхронного подключения активируется, если в настоящее время подключённый источник не имеет наивысший вес в группе. Предполагая, что вы настроили управляемую группу так, чтобы первичному источнику был задан больший вес, а вторичному — меньший, при изменении первичного источника его вес увеличивается, и реплика меняет подключение на него.secondary_weight: Приоритет этого сервера-источника репликации в списке источников канала репликации, когда он выступает в качестве вторичного в управляемой группе. Значение веса от 1 до 100, причём 100 — наивысший приоритет. Для вторичного сервера подходящим значением является 60.
Возвращаемое значение:
Строка, содержащая результат операции, например, о том, была ли она успешной или нет.
Пример:
SELECT asynchronous_connection_failover_add_managed('channel2', 'GroupReplication', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', '127.0.0.1', 3310, '', 80, 60);+----------------------------------------------------------------------------------------------------------------------------------------------------+ | asynchronous_connection_failover_add_source('channel2', 'GroupReplication', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa', '127.0.0.1', 3310, '', 80, 60) | +----------------------------------------------------------------------------------------------------------------------------------------------------+ | Source managed configuration details successfully inserted. | +----------------------------------------------------------------------------------------------------------------------------------------------------+Для получения более подробной информации см. Раздел 19.4.9, «Переключение источников и реплик с помощью аварийного переключения асинхронного подключения».
-
asynchronous_connection_failover_add_source()Добавить конфигурационную информацию для сервера-источника репликации в список источников для канала репликации.
Синтаксис:
asynchronous_connection_failover_add_source(
channel,host,port,network_namespace,weight)Аргументы:
channel: Канал репликации, для которого этот сервер-источник репликации входит в список источников.host: Имя хоста для этого сервера-источника репликации.port: Номер порта для этого сервера-источника репликации.network_namespace: Имя пространства сети для этого сервера-источника репликации. Укажите пустую строку, так как этот параметр зарезервирован для будущего использования.weight: Приоритет этого сервера-источника репликации в списке источников канала репликации. Приоритет от 1 до 100 (100 — наивысший, 50 — значение по умолчанию). При активации механизма аварийного переключения асинхронного подключения выбирается источник с наивысшим приоритетом среди альтернативных источников, указанных в списке источников канала, для первой попытки подключения. Если эта попытка не удаётся, реплика пытается подключиться ко всем перечисленным источникам в порядке убывания приоритета, затем снова начинает с источника с наивысшим приоритетом. Если несколько источников имеют одинаковый приоритет, реплика рандомизирует их порядок. Механизм аварийного переключения асинхронного подключения активируется, если подключённый источник не имеет наивысший вес в группе.
Возвращаемое значение:
Строка, содержащая результат операции, например, о том, была ли она успешной или нет.
Пример:
SELECT asynchronous_connection_failover_add_source('channel2', '127.0.0.1', 3310, '', 80);+-------------------------------------------------------------------------------------------------+ | asynchronous_connection_failover_add_source('channel2', '127.0.0.1', 3310, '', 80) | +-------------------------------------------------------------------------------------------------+ | Source configuration details successfully inserted. | +-------------------------------------------------------------------------------------------------+Для получения более подробной информации см. Раздел 19.4.9, «Переключение источников и реплик с помощью аварийного переключения асинхронного подключения».
-
asynchronous_connection_failover_delete_managed()Удалить всю управляемую группу из списка источников для канала репликации. При использовании этой функции все серверы-источники репликации, определённые в управляемой группе, удаляются из списка источников канала.
Синтаксис:
asynchronous_connection_failover_delete_managed(
channel,managed_name)Аргументы:
channel: Канал репликации, для которого этот сервер-источник репликации был частью списка источников.managed_name: Идентификатор управляемой группы, частью которой является сервер. Для управляемой службыGroupReplicationидентификатор — значение системной переменнойgroup_replication_group_name.
Возвращаемое значение:
Строка, содержащая результат операции, например, о том, была ли она успешной или нет.
Пример:
SELECT asynchronous_connection_failover_delete_managed('channel2', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa');+-----------------------------------------------------------------------------------------------------+ | asynchronous_connection_failover_delete_managed('channel2', 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa') | +-----------------------------------------------------------------------------------------------------+ | Source managed configuration details successfully deleted. | +-----------------------------------------------------------------------------------------------------+Для получения более подробной информации см. Раздел 19.4.9, «Переключение источников и реплик с помощью аварийного переключения асинхронного подключения».
-
asynchronous_connection_failover_delete_source()Удалить конфигурационную информацию для сервера-источника репликации из списка источников для канала репликации.
Синтаксис:
asynchronous_connection_failover_delete_source(
channel,host,port,network_namespace)Аргументы:
channel: Канал репликации, для которого этот сервер-источник репликации был частью списка источников.host: Имя хоста для этого сервера-источника репликации.port: Номер порта для этого сервера-источника репликации.network_namespace: Имя пространства сети для этого сервера-источника репликации. Укажите пустую строку, так как этот параметр зарезервирован для будущего использования.
Возвращаемое значение:
Строка, содержащая результат операции, например, о том, была ли она успешной или нет.
Пример:
SELECT asynchronous_connection_failover_delete_source('channel2', '127.0.0.1', 3310, '');+------------------------------------------------------------------------------------------------+ | asynchronous_connection_failover_delete_source('channel2', '127.0.0.1', 3310, '') | +------------------------------------------------------------------------------------------------+ | Source configuration details successfully deleted. | +------------------------------------------------------------------------------------------------+Для получения более подробной информации см. Раздел 19.4.9, «Переключение источников и реплик с помощью аварийного переключения асинхронного подключения».
-
asynchronous_connection_failover_reset()Удалить все настройки, относящиеся к механизму аварийного переключения асинхронного подключения. Функция очищает таблицы Performance Schema
replication_asynchronous_connection_failoverиreplication_asynchronous_connection_failover_managed.asynchronous_connection_failover_reset()может использоваться только на сервере, который в настоящее время не входит в группу и не имеет запущенных каналов репликации. Вы можете использовать эту функцию для очистки сервера, который больше не используется в управляемой группе.Синтаксис:
STRING asynchronous_connection_failover_reset()
Аргументы:
Нет.
Возвращаемое значение:
Строка, содержащая результат операции, например, о том, была ли она успешной или нет.
Пример:
mysql>
SELECT asynchronous_connection_failover_reset();+-------------------------------------------------------------------------+ | asynchronous_connection_failover_reset() | +-------------------------------------------------------------------------+ | The UDF asynchronous_connection_failover_reset() executed successfully. | +-------------------------------------------------------------------------+ 1 row in set (0.00 sec)Для получения более подробной информации см. Раздел 19.4.9, «Переключение источников и реплик с помощью аварийного переключения асинхронного подключения».
© 2025 Oracle
Licensed under the GPLv2 License.