Spec-Zone.ru › MySQL 9.2

19.4.9.2 Автоматическое переключение на резервный источник для реплик

Автоматическое переключение на резервный источник для реплик активируется автоматически для канала репликации на первичном сервере группы репликации, когда вы задаёте SOURCE_CONNECTION_AUTO_FAILOVER=1 в операторе CHANGE REPLICATION SOURCE TO для канала. Эта функция предназначена для того, чтобы группа отправителей и группа получателей оставались синхронизированными друг с другом, даже если некоторые члены временно недоступны. Когда функция активна и правильно настроена, если первичный сервер, выполняющий репликацию, выходит из строя или переходит в состояние ошибки, новый первичный сервер начинает репликацию по тому же каналу при избрании его новым лидером. Новый первичный сервер использует список источников для канала, чтобы выбрать источник с наивысшим приоритетом (весом), который может не совпадать с исходным источником.

Для настройки этой функции необходимо настроить канал репликации и учётные данные пользователя для репликации и пароль для канала на всех серверах-членах группы репликации и на всех новых присоединяющихся членах. Убедитесь, что SOURCE_RETRY_COUNT и SOURCE_CONNECT_RETRY установлены на минимальные значения, которые позволяют только несколько попыток повтора, например, 3 и 10. Вы можете настроить канал репликации с помощью CHANGE REPLICATION SOURCE TO, или, если новые серверы настроены с помощью функциональности клонирования MySQL, всё происходит автоматически. Параметр SOURCE_CONNECTION_AUTO_FAILOVER для канала транслируется членам группы первичным сервером при их подключении. Если вы позже отключите SOURCE_CONNECTION_AUTO_FAILOVER для канала на первичном сервере, это также транслируется на вторичные серверы, и они изменяют состояние канала в соответствии с этим.

Автоматическое переключение на резервный источник для реплик активируется и отключается с помощью действия члена группы репликации mysql_start_failover_channels_if_primary, которое включено по умолчанию. Вы можете отключить его для всей группы, отключив это действие на первичном сервере, используя функцию group_replication_disable_member_action, как в этом примере:

mysql> SELECT group_replication_disable_member_action("mysql_start_failover_channels_if_primary", "AFTER_PRIMARY_ELECTION");

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

Список источников для канала с SOURCE_CONNECTION_AUTO_FAILOVER=1 транслируется всем членам группы при их присоединении, а также при его изменении. Это так, независимо от того, являются ли источники управляемой группой, для которой членство обновляется автоматически, или они добавляются или изменяются вручную с помощью asynchronous_connection_failover_add_source(), asynchronous_connection_failover_delete_source(), asynchronous_connection_failover_add_managed() или asynchronous_connection_failover_delete_managed(). Все члены группы получают текущий список источников, как записано в таблицах mysql.replication_asynchronous_connection_failover и mysql.replication_asynchronous_connection_failover_managed. Поскольку источники не обязательно должны быть в управляемой группе, вы можете настроить функцию для синхронизации группы получателей с одним или несколькими альтернативными автономными отправителями или даже с одним отправителем. Автономная реплика, которая не является частью группы репликации, не может использовать эту функцию.

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

Spec-Zone.ru

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