20.9.1 Переменные системы Group Replication
В этом разделе перечислены переменные системы, специфичные для плагина Group Replication.
Имя каждой переменной системы Group Replication начинается с group_replication_.
InnoDB Cluster использует Group Replication, но значения по умолчанию для переменных системы Group Replication могут отличаться от значений, указанных в этом разделе. Например, в InnoDB Cluster значение по умолчанию для group_replication_communication_stack составляет MYSQL, а не XCOM, как в стандартной реализации Group Replication.
Для получения дополнительной информации, см. .
Некоторые переменные системы на члене группы Group Replication, включая некоторые переменные системы, специфичные для Group Replication, и некоторые общие переменные системы, являются настройками конфигурации для всей группы. Эти переменные системы должны иметь одинаковое значение на всех членах группы и требуют полного перезапуска группы (bootstrap сервером с group_replication_bootstrap_group=ON) для того, чтобы изменения значения вступили в силу. Инструкции по перезапуску группы, где каждый член остановлен, см. в Раздел 20.5.2, «Перезапуск группы».
Если у работающей группы установлено значение для настройки конфигурации всей группы, а присоединяющийся член имеет другое значение для этой переменной системы, присоединяющийся член не может присоединиться к группе до тех пор, пока значение не будет изменено, чтобы соответствовать. Если у группы установлено значение для одной из этих переменных системы, а присоединяющийся член не поддерживает переменную системы, он не может присоединиться к группе.
Следующие переменные системы являются настройками конфигурации для всей группы:
group_replication_view_change_uuid(устаревшая)group_replication_communication_stack(особый случай, не контролируемый собственными проверками Group Replication; см. описание переменной системы для получения подробностей)
Настройки конфигурации для всей группы нельзя изменить обычными методами, когда Group Replication работает, но можно использовать функции group_replication_switch_to_single_primary_mode() и group_replication_switch_to_multi_primary_mode(), чтобы изменить значения group_replication_single_primary_mode и group_replication_enforce_update_everywhere_checks, пока группа все еще работает. Для получения дополнительной информации, см. Раздел 20.5.1.2, «Изменение режима группы».
Большинство переменных системы для Group Replication могут иметь разные значения на разных членах группы. Для следующих переменных систем рекомендуется устанавливать одинаковое значение на всех членах группы, чтобы избежать ненужных отката транзакций, сбоев доставки сообщений или сбоев восстановления сообщений:
Значение group_replication_preemptive_garbage_collection должно быть одинаковым на всех членах группы.
Большинство переменных системы для Group Replication описываются как динамические, и их значения можно изменить во время работы сервера. Однако в большинстве случаев изменения вступают в силу только после остановки и перезапуска Group Replication на члене группы с помощью инструкции STOP GROUP_REPLICATION, за которой следует инструкция START
GROUP_REPLICATION. Изменения следующих переменных системы вступают в силу без остановки и перезапуска Group Replication:
...
END_OF_DOCUMENT_MARKERНекоторые системные переменные для Group Replication не полностью проверяются во время запуска сервера, если они передаются в качестве аргументов командной строки. К этим системным переменным относятся
group_replication_group_name,group_replication_single_primary_mode,group_replication_force_members, переменные SSL и переменные системы управления потоком. Они полностью проверяются только после запуска сервера.Системные переменные для Group Replication, которые указывают IP-адреса или имена хостов для участников группы, не проверяются до тех пор, пока не будет выполнено оператор
START GROUP_REPLICATION. Система групповой коммуникации (GCS) Group Replication недоступна для проверки значений до этого момента.
Ниже перечислены системные переменные сервера, специфичные для плагина Group Replication, вместе с описанием их функций или назначения:
-
group_replication_advertise_recovery_endpointsФормат командной строки --group-replication-advertise-recovery-endpoints=valueСистемная переменная group_replication_advertise_recovery_endpointsОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Строка Значение по умолчанию DEFAULTЗначение этой системной переменной может быть изменено во время работы Group Replication. Изменение вступает в силу немедленно для участника. Однако присоединяющийся участник, который уже получил предыдущее значение системной переменной, продолжает использовать это значение. Только участники, присоединившиеся после изменения значения, получат новое значение.
group_replication_advertise_recovery_endpointsуказывает, как присоединяющийся участник может установить соединение с существующим участником для передачи состояния для распределённого восстановления. Это соединение используется как для удалённых операций клонирования, так и для передачи состояния из двоичного журнала донора.Значение
DEFAULT, которое является значением по умолчанию, означает, что присоединяющиеся участники используют стандартное соединение SQL-клиента существующего участника, как задано системными переменными MySQL Serverhostnameиport. Если альтернативный номер порта указан системной переменнойreport_port, используется он. Таблица Performance Schemareplication_group_membersотображает адрес и номер порта этого соединения в столбцахMEMBER_HOSTиMEMBER_PORT.Вместо
DEFAULTможно указать один или несколько точек распределённого восстановления, которые существующий участник рекламирует присоединяющимся участникам для использования. Предложение точек распределённого восстановления позволяет администраторам контролировать трафик восстановления отдельно от обычных подключений MySQL-клиентов к участникам группы. Присоединяющиеся участники пробуют каждый из точек последовательно в том порядке, в котором они указаны в списке.Укажите точки распределённого восстановления как список IP-адресов и номеров портов, разделённых запятыми, например:
group_replication_advertise_recovery_endpoints= "127.0.0.1:3306,127.0.0.1:4567,[::1]:3306,localhost:3306"
В любой комбинации могут быть использованы IPv4 и IPv6 адреса и имена хостов. IPv6 адреса должны быть указаны в квадратных скобках. Имена хостов должны разрешаться в локальный IP-адрес. Шаблоны адресов с подстановкой не могут быть использованы, и вы не можете указать пустой список. Обратите внимание, что стандартное соединение SQL-клиента не включается автоматически в список точек распределённого восстановления. Если вы хотите использовать его как точку, вы должны явно включить его в список.
Подробности о выборе IP-адресов и портов как точек распределённого восстановления и о том, как присоединяющиеся участники их используют, см. в Раздел 20.5.4.1.1, «Выбор адресов для точек распределённого восстановления». Краткое изложение требований таково:
IP-адреса не нужно настраивать для MySQL Server, но они должны быть назначены серверу.
Порты должны быть настроены для MySQL Server с помощью системной переменной
port,report_portилиadmin_port.Для распределённого восстановления необходимы соответствующие права для пользователя репликации, если используется
admin_port.IP-адреса не нужно добавлять в список разрешенных IP-адресов Group Replication, заданный системной переменной
group_replication_ip_allowlist.Требования SSL к соединению указаны параметрами
group_replication_recovery_ssl_*.
-
group_replication_allow_local_lower_version_joinФормат командной строки --group-replication-allow-local-lower-version-join[={OFF|ON}]Устарело Да Системная переменная group_replication_allow_local_lower_version_joinОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Булево Значение по умолчанию OFFЗначение этой системной переменной может быть изменено во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на участнике группы.
group_replication_allow_local_lower_version_joinразрешает текущему серверу присоединиться к группе, даже если он работает с более старой версией MySQL Server, чем группа. По умолчаниюOFF, серверы не могут присоединиться к группе репликации, если они работают с более старой версией, чем существующие участники группы. Эта стандартная политика гарантирует, что все участники группы могут обмениваться сообщениями и применять транзакции.Установите
group_replication_allow_local_lower_version_joinв значениеONтолько в следующих сценариях:Сервер должен быть добавлен в группу в экстренном порядке для повышения отказоустойчивости группы, и доступны только более старые версии.
Вы хотите откатить обновление для одного или нескольких участников группы репликации без остановки всей группы и повторного инициализации.
ПредупреждениеУстановка этого параметра в значение
ONне делает новый участник совместимым с группой и разрешает ему присоединиться к группе без каких-либо мер безопасности от несовместимого поведения существующих участников. Для обеспечения правильной работы нового участника необходимо соблюсти обе следующие меры предосторожности:Перед присоединением сервера с более старой версией к группе, прекратите все записи на этом сервере.
С момента присоединения сервера с более старой версией к группе, прекратите все записи на других серверах в группе.
Без этих мер предосторожности сервер с более старой версией, вероятно, столкнется с трудностями и завершится с ошибкой.
-
group_replication_auto_increment_incrementФормат командной строки --group-replication-auto-increment-increment=#Системная переменная group_replication_auto_increment_incrementОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 7Минимальное значение 1Максимальное значение 65535Эта системная переменная должна иметь одинаковое значение на всех участниках группы. Вы не можете изменить значение этой системной переменной, пока работает Групповая репликация. Вы должны остановить Групповую репликацию, изменить значение системной переменной, а затем перезапустить Групповую репликацию на каждом из участников группы. Во время этого процесса значение системной переменной может отличаться между участниками группы, но некоторые транзакции на участниках группы могут быть отменены.
group_replication_auto_increment_incrementопределяет интервал между последовательными значениями для автоинкрементируемых столбцов для транзакций, которые выполняются на этом экземпляре сервера. Добавление интервала предотвращает выбор дублирующихся значений автоинкремента для записей на участниках группы, что приводит к отмене транзакций. Значение по умолчанию 7 представляет собой баланс между количеством используемых значений и допустимым максимальным размером группы репликации (9 участников). Если ваша группа имеет больше или меньше участников, вы можете установить эту системную переменную в соответствии с ожидаемым количеством участников группы перед запуском Групповой репликации.ВажноУстановка
group_replication_auto_increment_incrementне оказывает никакого эффекта, когдаgroup_replication_single_primary_modeнаходится в режимеON.Когда Групповая репликация запускается на экземпляре сервера, значение системной переменной сервера
auto_increment_incrementизменяется на это значение, а значение системной переменной сервераauto_increment_offsetизменяется на идентификатор сервера. Изменения отменяются при остановке Групповой репликации. Эти изменения производятся и отменяются только в том случае, еслиauto_increment_incrementиauto_increment_offsetимеют по умолчанию значение 1. Если их значения уже изменены с значения по умолчанию, Групповая репликация их не изменяет. Системные переменные также не изменяются, когда Групповая репликация находится в режиме с одним первичным сервером, где запись выполняется только на одном сервере. -
group_replication_autorejoin_triesФормат командной строки --group-replication-autorejoin-tries=#Системная переменная group_replication_autorejoin_triesОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Целое число Значение по умолчанию 3Минимальное значение 0Максимальное значение 2016Значение этой системной переменной можно изменить, пока работает Групповая репликация, и изменение вступит в силу немедленно. Текущее значение системной переменной считывается при возникновении проблемы, требующей этого поведения.
group_replication_autorejoin_triesуказывает количество попыток, которые делает участник, чтобы автоматически присоединиться к группе, если он исключен или не может связаться с большинством группы до достижения значенияgroup_replication_unreachable_majority_timeout. При достижении времени исключения участника или истечения времени ожидания большинства он пытается присоединиться (используя текущие значения параметров плагина), а затем продолжает предпринимать дополнительные попытки автоматического присоединения до указанного количества попыток. После неудачной попытки автоматического присоединения участник ожидает 5 минут перед следующей попыткой. Если указанное количество попыток исчерпано без присоединения участника или его остановки, участник переходит к действию, указанному системной переменнойgroup_replication_exit_state_action.Во время и между попытками автоматического присоединения участник остается в режиме супер-только для чтения и не принимает записи, но чтение всё ещё может осуществляться на участнике, с возрастающей вероятностью устаревших чтений со временем. Если вы не можете допустить возможности устаревших чтений в течение любого периода времени, установите
group_replication_autorejoin_triesв 0. Для получения дополнительной информации об функции автоматического присоединения и соображениях при выборе значения для этого параметра, см. Раздел 20.7.7.3, «Автоматическое присоединение». -
group_replication_bootstrap_groupФормат командной строки --group-replication-bootstrap-group[={OFF|ON}]Системная переменная group_replication_bootstrap_groupОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFgroup_replication_bootstrap_groupнастраивает этот сервер для инициализации группы. Эту системную переменную необходимо только установить на одном сервере, только при первом запуске группы или при перезапуске всей группы. После инициализации группы установите этот параметр вOFF. Он должен быть установлен вOFFкак динамически, так и в конфигурационных файлах. Запуск двух серверов или перезапуск одного сервера с этим параметром, установленным во время работы группы, может привести к искусственной ситуации раздвоения мозга, когда две независимые группы с одинаковым именем будут инициализированы.Инструкции по инициализации группы в первый раз см. в Разделе 20.2.1.5, «Инициализация группы». Инструкции по безопасной инициализации группы, где были выполнены и подтверждены транзакции, см. в Разделе 20.5.2, «Перезапуск группы».
-
group_replication_clone_thresholdФормат командной строки --group-replication-clone-threshold=#Системная переменная group_replication_clone_thresholdОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 9223372036854775807Минимальное значение 1Максимальное значение 9223372036854775807Единица измерения транзакции Значение этой системной переменной может быть изменено во время работы групповой репликации, но изменение вступит в силу только после остановки и перезапуска групповой репликации на члене группы.
group_replication_clone_thresholdуказывает разрыв транзакций, как число транзакций, между существующим членом (донором) и присоединяющимся членом (получателем), который запускает использование операции удаленного клонирования для передачи состояния присоединяющемуся члену во время процесса распределенного восстановления. Если разрыв транзакций между присоединяющимся членом и подходящим донором превышает пороговое значение, групповая репликация начинает распределенное восстановление с операции удаленного клонирования. Если разрыв транзакций ниже порогового значения или если операция удаленного клонирования технически невозможна, групповая репликация переходит непосредственно к передаче состояния из двоичного журнала донора.ПредупреждениеНе используйте низкое значение для
group_replication_clone_thresholdв активной группе. Если во время выполнения операции удаленного клонирования в группе произойдет количество транзакций, превышающее пороговое значение, присоединяющийся член снова запустит операцию удаленного клонирования после перезапуска и может продолжать это бесконечно. Чтобы избежать этой ситуации, убедитесь, что вы установили пороговое значение в число, большее, чем количество транзакций, которые, как вы ожидаете, произойдут в группе за время, необходимое для выполнения операции удаленного клонирования.Для использования этой функции как донор, так и присоединяющийся член должны быть предварительно настроены для поддержки клонирования. Инструкции см. в Разделе 20.5.4.2, «Клонирование для распределенного восстановления». Когда выполняется операция удаленного клонирования, групповая репликация управляет ею за вас, включая необходимый перезапуск сервера, при условии, что
group_replication_start_on_boot=ONустановлен. В противном случае необходимо перезапустить сервер вручную. Операция удаленного клонирования заменяет существующий словарь данных на присоединяющемся члене, но групповая репликация проверяет и не продолжает, если у присоединяющегося члена есть дополнительные транзакции, которые отсутствуют на других членах группы, поскольку эти транзакции будут стерты операцией клонирования.Настройка по умолчанию (которая является максимальным допустимым номером последовательности для транзакции в GTID) означает, что передача состояния из двоичного журнала донора практически всегда пытается, а не клонирование. Однако обратите внимание, что групповая репликация всегда пытается выполнить операцию клонирования, независимо от вашего порогового значения, если передача состояния из двоичного журнала донора невозможна, например, потому что транзакции, необходимые присоединяющемуся члену, недоступны в двоичных журналах на любом существующем члене группы. Если вы не хотите вообще использовать клонирование в вашей группе репликации, не устанавливайте плагин клонирования на членах.
-
group_replication_communication_debug_optionsФормат командной строки --group-replication-communication-debug-options=valueСистемная переменная group_replication_communication_debug_optionsОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию GCS_DEBUG_NONEДопустимые значения GCS_DEBUG_NONEGCS_DEBUG_BASICGCS_DEBUG_TRACEXCOM_DEBUG_BASICXCOM_DEBUG_TRACEGCS_DEBUG_ALLЗначение этой системной переменной может быть изменено во время работы групповой репликации, и изменение вступает в силу немедленно.
group_replication_communication_debug_optionsнастраивает уровень сообщений отладки для различных компонентов групповой репликации, таких как система групповой связи (GCS) и механизм групповой связи (XCom, вариант Paxos). Информация отладки хранится в файлеGCS_DEBUG_TRACEв каталоге данных.Набор доступных параметров, указанных в виде строк, можно комбинировать. Доступны следующие параметры:
GCS_DEBUG_NONEотключает все уровни отладки как для GCS, так и для XCom.GCS_DEBUG_BASICвключает базовую информацию отладки в GCS.GCS_DEBUG_TRACEвключает трассировочную информацию в GCS.XCOM_DEBUG_BASICвключает базовую информацию отладки в XCom.XCOM_DEBUG_TRACEвключает трассировочную информацию в XCom.GCS_DEBUG_ALLвключает все уровни отладки как для GCS, так и для XCom.
Установка уровня отладки на
GCS_DEBUG_NONEвлияет только при предоставлении без каких-либо других параметров. Установка уровня отладки наGCS_DEBUG_ALLпереопределяет все остальные параметры. -
group_replication_communication_max_message_sizeФормат командной строки --group-replication-communication-max-message-size=#Системная переменная group_replication_communication_max_message_sizeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 10485760Минимальное значение 0Максимальное значение 1073741824Единица измерения байты Эта системная переменная должна иметь одинаковое значение на всех членах группы. Нельзя изменить значение этой системной переменной во время работы групповой репликации. Необходимо остановить групповую репликацию, изменить значение системной переменной, а затем перезапустить групповую репликацию на каждом из членов группы. Во время этого процесса значение системной переменной может отличаться у членов группы, но некоторые транзакции на членах группы могут быть отменены.
group_replication_communication_max_message_sizeуказывает максимальный размер сообщения для связи групповой репликации. Сообщения большего размера автоматически разбиваются на фрагменты, которые отправляются отдельно и собираются получателями. Для получения дополнительной информации см. Раздел 20.7.5, «Фрагментация сообщений».Максимальный размер сообщения 10485760 байт (10 МБ) установлен по умолчанию, что означает, что фрагментация используется по умолчанию. Наибольшее допустимое значение такое же, как максимальное значение системной переменной
replica_max_allowed_packet, которая составляет 1073741824 байта (1 ГБ).group_replication_communication_max_message_sizeдолжно быть меньше, чемreplica_max_allowed_packet, поскольку поток приложения не может обрабатывать фрагменты сообщений больше максимального допустимого размера пакета. Чтобы отключить фрагментацию, установитеgroup_replication_communication_max_message_sizeна0.Для того чтобы члены группы репликации могли использовать фрагментацию, версия протокола связи группы должна быть 8.0.16 или более поздней. Используйте функцию
group_replication_get_communication_protocol(), чтобы просмотреть версию протокола связи группы. Если используется более низкая версия, члены группы не фрагментируют сообщения. Вы можете использовать функциюgroup_replication_set_communication_protocol(), чтобы установить протокол связи группы на более высокую версию, если все члены группы поддерживают ее. Для получения дополнительной информации см. Раздел 20.5.1.4, «Установка версии протокола связи группы».
-
group_replication_communication_stackПеременная системы group_replication_communication_stackОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию XCOMДопустимые значения XCOMMYSQLПримечаниеЭта переменная системы фактически является настройкой конфигурации для всей группы; хотя ее можно задать во время выполнения, для вступления изменений в силу требуется полная перезагрузка группы репликации.
group_replication_communication_stackопределяет, использовать ли стека связи XCom или стека связи MySQL для установления соединений связи между членами группы. Стек связи XCom — это собственная реализация Group Replication, и он не поддерживает аутентификацию или пространства имён сети. Стек связи MySQL — это собственная реализация MySQL Server, поддерживающая аутентификацию и пространства имён сети, и доступ к новым функциям безопасности сразу после выпуска. Все члены группы должны использовать один и тот же стек связи.При использовании стека связи MySQL вместо XCom MySQL Server устанавливает каждое соединение между членами группы с помощью собственных протоколов аутентификации и шифрования.
ПримечаниеЕсли вы используете InnoDB Cluster, значение по умолчанию для
group_replication_communication_stackравноMYSQL.Для получения дополнительной информации см. .
При настройке группы для использования стека связи MySQL требуется дополнительная настройка; см. Раздел 20.6.1, «Управление стеком связи для обеспечения безопасности подключения».
group_replication_communication_stackфактически является настройкой конфигурации для всей группы, и это значение должно быть одинаковым на всех участниках группы. Однако Group Replication не контролирует это с помощью собственных проверок настройка конфигурации всей группы. Член с другим значением, отличным от остальных участников группы, не может вообще взаимодействовать с другими членами, поскольку протоколы связи несовместимы, поэтому он не может обмениваться информацией о своих настройках.Это означает, что, хотя значение переменной системы можно изменить во время работы Group Replication, и оно вступит в силу после перезапуска Group Replication на участнике группы, участник по-прежнему не может присоединиться к группе до тех пор, пока значение не будет изменено на всех участниках. Поэтому вам необходимо остановить Group Replication на всех участниках и изменить значение переменной системы на всех участниках перед повторным запуском группы. Поскольку все участники остановлены, для вступления изменений в силу требуется полная перезагрузка группы (бустроп на сервере с
group_replication_bootstrap_group=ON). Инструкции по миграции между стеками связи см. в Разделе 20.6.1, «Управление стеком связи для обеспечения безопасности подключения». -
group_replication_components_stop_timeoutФормат командной строки --group-replication-components-stop-timeout=#Переменная системы group_replication_components_stop_timeoutОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 300Минимальное значение 2Максимальное значение 31536000Единицы измерения секунды Значение этой переменной системы можно изменить во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на участнике группы.
group_replication_components_stop_timeoutуказывает время (в секундах), в течение которого Group Replication ожидает завершения текущих процессов каждого из своих модулей при выходе из системы. Таймаут компонента применяется после выполнения оператораSTOP GROUP_REPLICATION, который происходит автоматически при перезапуске сервера или автоматическом повторном присоединении.Таймаут используется для решения ситуаций, когда компоненты Group Replication не могут быть остановлены стандартным образом, что может произойти, если участник был исключён из группы во время ошибочного состояния или во время работы процесса, такого как MySQL Enterprise Backup, который удерживает глобальную блокировку таблиц на участнике. В таких ситуациях участник не может остановить поток applier или завершить процесс распределённого восстановления для повторного присоединения.
STOP GROUP_REPLICATIONне завершается до тех пор, пока ситуация не будет решена (например, блокировка не будет освобождена) или таймаут компонента не истечёт, и модули будут остановлены независимо от их состояния.Значение по умолчанию — 300 секунд, поэтому компоненты Group Replication останавливаются через 5 минут, если ситуация не будет решена до этого времени, что позволит участнику перезапуститься и повторно присоединиться.
-
group_replication_compression_thresholdФормат командной строки --group-replication-compression-threshold=#Переменная системы group_replication_compression_thresholdОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 1000000Минимальное значение 0Максимальное значение 4294967295Единицы измерения байты Значение порога в байтах, выше которого применяется сжатие к сообщениям, отправляемым между участниками группы. Если эта переменная системы установлена в ноль, сжатие отключено. Значение
group_replication_compression_thresholdдолжно быть одинаковым на всех участниках группы.Group Replication использует алгоритм сжатия LZ4 для сжатия сообщений, отправляемых в группе. Обратите внимание, что максимальный размер входных данных для алгоритма сжатия LZ4 составляет 2113929216 байт. Это ограничение меньше максимального возможного значения переменной системы
group_replication_compression_threshold, которое соответствует максимальному размеру сообщения, принимаемого XCom. При использовании алгоритма сжатия LZ4 не следует устанавливать значение, превышающее 2113929216 байт дляgroup_replication_compression_threshold, так как транзакции, превышающие этот размер, не могут быть подтверждены при включенном сжатии сообщений.Для получения дополнительной информации см. Раздел 20.7.4, «Сжатие сообщений».
-
Формат командной строки --group-replication-consistency=valueСистемная переменная group_replication_consistencyОбласть Глобальная, Сеанс Динамическая Да SET_VARПрименимо к подсказкеНет Тип Перечисление Значение по умолчанию BEFORE_ON_PRIMARY_FAILOVERДопустимые значения EVENTUALBEFORE_ON_PRIMARY_FAILOVERBEFOREAFTERBEFORE_AND_AFTERgroup_replication_consistency— это системная переменная сервера, а не переменная, специфичная для плагина Group Replication, поэтому перезапуск Group Replication не требуется для вступления изменения в силу. Изменение сеансового значения системной переменной вступает в силу немедленно, а изменение глобального значения вступает в силу для новых сеансов, начатых после изменения. Для изменения глобального параметра этой системной переменной требуется привилегияGROUP_REPLICATION_ADMIN.group_replication_consistencyопределяет гарантию согласованности транзакций, предоставляемую группой; это можно сделать глобально или для каждой транзакции.group_replication_consistencyтакже определяет механизм блокировки, используемый вновь избранными первичными серверами в группах с одним первичным сервером. Следует учитывать влияние переменной как для только-для-чтения, так и для чтение/запись транзакций. Следующий список показывает возможные значения этой переменной в порядке возрастания гарантии согласованности транзакций:-
EVENTUALНи только-для-чтения, ни чтение/запись транзакции не ожидают применения предшествующих транзакций перед выполнением. (До добавления этой переменной это было стандартное поведение.) Транзакция чтение/запись не ожидает применения транзакции другими участниками. Это означает, что транзакция может быть экспортирована на один участник до того, как будут применены транзакции на других. Это также означает, что в случае переключения первичного сервера новый первичный сервер может принять новые транзакции только для чтения и чтение/запись до тех пор, пока все транзакции предыдущего первичного сервера не будут применены.
-
BEFORE_ON_PRIMARY_FAILOVERНовые транзакции только для чтения или чтение/запись с вновь избранным первичным сервером, который применяет отставание от старого первичного сервера, не применяются до тех пор, пока не будет применено все отставание. Это гарантирует, что в случае переключения первичного сервера клиенты всегда видят последнее значение на первичном сервере, независимо от того, было ли переключение преднамеренным. Это гарантирует согласованность, но означает, что клиенты должны уметь обрабатывать задержку в случае применения отставания. Длительность этой задержки зависит от размера обрабатываемого отставания, но обычно невелика.
-
BEFOREТранзакция чтение/запись ожидает завершения всех предшествующих транзакций перед применением. Транзакция только для чтения ожидает завершения всех предшествующих транзакций перед выполнением. Это гарантирует, что эта транзакция считывает последнее значение, влияя только на задержку транзакции. Это снижает любую издержки от синхронизации, обеспечивая её использование только для транзакций только для чтения. Этот уровень согласованности также включает гарантии согласованности, предоставляемые
BEFORE_ON_PRIMARY_FAILOVER. -
AFTERТранзакция чтение/запись ожидает, пока её изменения не будут применены ко всем другим участникам. Это значение не влияет на транзакции только для чтения и гарантирует, что при подтверждении транзакции на локальном участнике любая последующая транзакция считывает записанное значение или более позднее значение на любом участнике группы. Это означает, что транзакции только для чтения на других участниках остаются незавершенными до тех пор, пока все предшествующие транзакции не будут завершены, увеличивая задержку затронутой транзакции.
Используйте этот режим с группой, предназначенной в первую очередь для операций только для чтения, чтобы гарантировать, что любые транзакции чтение/запись будут применены повсюду после их подтверждения. Это можно использовать в вашем приложении, чтобы гарантировать, что последующие считывания извлекают последние данные, включая последние записи. Это снижает любые издержки от синхронизации, обеспечивая использование синхронизации только для транзакций чтение/запись.
AFTERвключает в себя гарантии согласованности, предоставляемыеBEFORE_ON_PRIMARY_FAILOVER. -
BEFORE_AND_AFTERТранзакция чтение/запись ожидает завершения всех предшествующих транзакций и применения всех её изменений на всех других участниках перед применением. Транзакция только для чтения ожидает завершения всех предшествующих транзакций перед выполнением. Этот уровень согласованности также включает гарантии согласованности, предоставляемые
BEFORE_ON_PRIMARY_FAILOVER.
Дополнительную информацию см. в разделе 20.5.3, «Гарантии согласованности транзакций».
-
-
group_replication_enforce_update_everywhere_checksФормат командной строки --group-replication-enforce-update-everywhere-checks[={OFF|ON}]Системная переменная group_replication_enforce_update_everywhere_checksОбласть Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Булево Значение по умолчанию OFFПримечаниеЭта системная переменная — это групповая конфигурационная настройка, и для вступления изменения в силу требуется полная перезагрузка группы репликации.
group_replication_enforce_update_everywhere_checksвключает или отключает строгие проверки согласованности для обновления во всех первичных серверах. По умолчанию проверки отключены. В режиме с одним первичным сервером этот параметр должен быть отключён на всех участниках группы. В режиме с несколькими первичными серверами, при включении этого параметра, операторы проверяются следующим образом, чтобы убедиться, что они совместимы с режимом с несколькими первичными серверами:Если транзакция выполняется с уровнем изоляции
SERIALIZABLE, то её подтверждение отклоняется при синхронизации с группой.Если транзакция выполняется над таблицей, которая имеет внешние ключи с каскадными ограничениями, то транзакция не подтверждается при синхронизации с группой.
Эта системная переменная является групповой конфигурационной настройкой. Она должна иметь одинаковое значение на всех участниках группы, не может быть изменена во время работы Group Replication и требует полной перезагрузки группы (bootstrap сервером с
group_replication_bootstrap_group=ON) для вступления изменения в силу. Инструкции по безопасному запуску группы, где были выполнены и проверены транзакции, см. в разделе 20.5.2, «Перезапуск группы».Если в группе установлено значение для этой системной переменной, а присоединяющийся участник имеет другое значение для системной переменной, присоединяющийся участник не может присоединиться к группе до тех пор, пока значение не будет изменено для соответствия. Если значения участников группы установлены для этой системной переменной, а присоединяющийся участник не поддерживает системную переменную, он не может присоединиться к группе.
Используйте функции
group_replication_switch_to_single_primary_mode()иgroup_replication_switch_to_multi_primary_mode()для изменения значения этой системной переменной, пока группа не запущена. Дополнительную информацию см. в разделе 20.5.1.2, «Изменение режима группы».
-
group_replication_exit_state_actionФормат командной строки --group-replication-exit-state-action=valueСистемная переменная group_replication_exit_state_actionОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию OFFLINE_MODEДопустимые значения ABORT_SERVEROFFLINE_MODEREAD_ONLYЗначение этой системной переменной можно изменить во время работы Групповой репликации, и изменения вступят в силу немедленно. Текущее значение системной переменной считывается при возникновении проблемы, требующей данного поведения.
group_replication_exit_state_actionнастраивает поведение Групповой репликации при непроизвольном выходе серверного экземпляра из группы, например, после возникновения ошибки приложения, при потере большинства или когда другой член группы исключает его из-за истечения срока ожидания подозрения. Период ожидания для выхода члена из группы в случае потери большинства устанавливается системной переменнойgroup_replication_unreachable_majority_timeout, а срок ожидания подозрения — системной переменнойgroup_replication_member_expel_timeout. Обратите внимание, что исключенный член группы не знает об этом, пока не подключится к группе повторно, поэтому указанное действие выполняется только в том случае, если член сможет повторно подключиться или сам заявит подозрение и исключит себя.Когда член группы исключается из-за истечения срока ожидания подозрения или потери большинства, если для этого члена установлено значение системной переменной
group_replication_autorejoin_tries, определяющее количество попыток автоматического подключения, он сначала выполняет указанное количество попыток в режиме супер-только-для-чтения, а затем следует действию, указанному вgroup_replication_exit_state_action. Попытки автоматического подключения не выполняются в случае ошибки приложения, поскольку они необратимы.Когда
group_replication_exit_state_actionустановлено вREAD_ONLY, если член непроизвольно выходит из группы или исчерпывает попытки автоматического подключения, экземпляр переключает MySQL в режим супер-только-для-чтения (устанавливая системную переменнуюsuper_read_onlyна значениеON).Когда
group_replication_exit_state_actionустановлено вOFFLINE_MODE, если член непроизвольно выходит из группы или исчерпывает попытки автоматического подключения, экземпляр переводит MySQL в автономный режим (устанавливая системную переменнуюoffline_modeна значениеON). В этом режиме подключенные клиенты отключаются при следующем запросе, и новые подключения больше не принимаются, за исключением клиентов, обладающих привилегиейCONNECTION_ADMIN(или устаревшей привилегиейSUPER). Групповая репликация также устанавливает системную переменнуюsuper_read_onlyв значениеON, чтобы клиенты не могли выполнять обновления, даже если они подключились с привилегиейCONNECTION_ADMINилиSUPER.Когда
group_replication_exit_state_actionустановлено вABORT_SERVER, если член непроизвольно выходит из группы или исчерпывает попытки автоматического подключения, экземпляр завершает работу MySQL.ВажноЕсли ошибка произошла до успешного присоединения члена к группе, указанное выходное действие не выполняется. Это происходит в случае ошибки при проверке локальной конфигурации или несовпадения конфигурации присоединяющегося члена и конфигурации группы. В этих ситуациях системная переменная
super_read_onlyостается со своим исходным значением, подключения продолжают приниматься, и сервер не завершает работу MySQL. Чтобы гарантировать, что сервер не может принимать обновления, если Групповая репликация не запустилась, рекомендуется установитьsuper_read_only=ONв файле конфигурации сервера при запуске, которое Групповая репликация изменяет наOFFна первичных участниках после успешного запуска. Эта мера предосторожности особенно важна, когда сервер настроен на запуск Групповой репликации при запуске сервера (group_replication_start_on_boot=ON), но она также полезна при ручном запуске Групповой репликации с помощью оператораSTART GROUP_REPLICATION.Дополнительную информацию об использовании этого параметра и полном списке ситуаций, в которых выполняется выходное действие, см. в разделе 20.7.7.4 «Действие выхода».
-
group_replication_flow_control_applier_thresholdФормат командной строки --group-replication-flow-control-applier-threshold=#Системная переменная group_replication_flow_control_applier_thresholdОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 25000Минимальное значение 0Максимальное значение 2147483647Единицы измерения транзакций Значение этой системной переменной можно изменить во время работы Групповой репликации, и изменения вступят в силу немедленно.
group_replication_flow_control_applier_thresholdопределяет количество ожидающих транзакций в очереди приложения, которое запускает контроль потока.
-
group_replication_flow_control_max_quotaФормат командной строки --group-replication-flow-control-max-quota=#Системная переменная group_replication_flow_control_max_quotaОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 2147483647Значение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_max_quotaопределяет максимальную квоту управления потоком группы или максимальную доступную квоту для любого периода, пока включено управление потоком. Значение 0 означает, что максимальная квота не установлена. Значение этой системной переменной не может быть меньше, чемgroup_replication_flow_control_min_quotaиgroup_replication_flow_control_min_recovery_quota. -
group_replication_flow_control_member_quota_percentФормат командной строки --group-replication-flow-control-member-quota-percent=#Системная переменная group_replication_flow_control_member_quota_percentОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 100Единица измерения процент Значение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_member_quota_percentопределяет процент квоты, который член должен считать доступным для себя при расчете квот. Значение 0 означает, что квота должна быть разделена поровну между членами, которые были писателями в последний период. -
group_replication_flow_control_min_quotaФормат командной строки --group-replication-flow-control-min-quota=#Системная переменная group_replication_flow_control_min_quotaОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 2147483647Значение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_min_quotaуправляет самой низкой квотой управления потоком, которая может быть назначена члену, независимо от рассчитанной минимальной квоты, выполненной в последний период. Значение 0 означает, что минимальная квота отсутствует. Значение этой системной переменной не может быть больше, чемgroup_replication_flow_control_max_quota. -
group_replication_flow_control_min_recovery_quotaФормат командной строки --group-replication-flow-control-min-recovery-quota=#Системная переменная group_replication_flow_control_min_recovery_quotaОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 2147483647Значение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_min_recovery_quotaуправляет самой низкой квотой, которая может быть назначена члену из-за другого восстанавливающегося члена в группе, независимо от рассчитанной минимальной квоты, выполненной в последний период. Значение 0 означает, что минимальная квота отсутствует. Значение этой системной переменной не может быть больше, чемgroup_replication_flow_control_max_quota. -
group_replication_flow_control_modeФормат командной строки --group-replication-flow-control-mode=valueСистемная переменная group_replication_flow_control_modeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Перечисление Значение по умолчанию QUOTAДопустимые значения DISABLEDQUOTAЗначение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_modeуказывает режим, используемый для управления потоком. -
group_replication_flow_control_periodФормат командной строки --group-replication-flow-control-period=#Системная переменная group_replication_flow_control_periodОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 1Минимальное значение 1Максимальное значение 60Единица измерения секунды Значение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_periodопределяет, сколько секунд ожидать между итерациями управления потоком, в которых отправляются сообщения управления потоком и выполняются задачи управления потоком. -
group_replication_flow_control_release_percentФормат командной строки --group-replication-flow-control-release-percent=#Системная переменная group_replication_flow_control_release_percentОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 50Минимальное значение 0Максимальное значение 1000Единица измерения процент Значение этой системной переменной может быть изменено во время работы Group Replication, и изменения вступают в силу немедленно.
group_replication_flow_control_release_percentопределяет, как должна быть освобождена групповая квота, когда управление потоком больше не нуждается в ограничении членов-писателей, при этом этот процент является увеличением квоты за период управления потоком. Значение 0 означает, что как только пороговые значения управления потоком находятся в пределах допустимых значений, квота освобождается за одну итерацию управления потоком. Диапазон позволяет освобождать квоту до 10 раз текущей квоты, поскольку это обеспечивает большую степень адаптации, в основном, когда период управления потоком большой, а квоты очень маленькие.
-
group_replication_force_membersФормат командной строки --group-replication-force-members=valueСистемная переменная group_replication_force_membersОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Строка Эта системная переменная используется для принудительного обновления списка участников группы. Значение этой системной переменной можно изменить во время работы Групповой репликации, и изменение вступит в силу немедленно. Вам нужно установить значение системной переменной только на одном из участников группы, который должен остаться в группе. Подробности о ситуации, в которой вам может потребоваться принудительное обновление списка участников группы, и процедура, которой следует следовать при использовании этой системной переменной, см. в Разделе 20.7.8, «Обработка сетевого разбиения и потери кворума».
group_replication_force_membersопределяет список адресов узлов через запятую, например,host1:port1,host2:port2. Любые существующие участники, которые не включены в список, не получат нового представления о группе и будут заблокированы. Для каждого существующего участника, который должен продолжить быть участником, необходимо указать IP-адрес или имя хоста и порт, как указано в системной переменнойgroup_replication_local_addressдля каждого участника. IPv6-адрес должен быть указан в квадратных скобках. Например:"198.51.100.44:33061,[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33061,example.org:33061"
Движок групповой коммуникации для Групповой репликации (XCom) проверяет, что указанные IP-адреса имеют допустимый формат, и что вы не включили участников группы, которые в настоящее время недоступны. В противном случае новая конфигурация не проверяется, поэтому необходимо тщательно включать только онлайн-серверы, которые являются доступными участниками группы. Любые некорректные значения или недопустимые имена хостов в списке могут привести к блокировке группы с недопустимой конфигурацией.
Перед принудительной установкой новой конфигурации участников важно убедиться, что исключаемые серверы выключены. Если нет, выключите их перед продолжением. Участники группы, которые все еще онлайн, могут автоматически создавать новые конфигурации, и если это уже произошло, принудительное создание новой конфигурации может привести к искусственной ситуации «разделенного мозга» для группы.
После успешного принудительного обновления списка участников группы и разблокировки группы с помощью системной переменной
group_replication_force_members, убедитесь, что вы очистите системную переменную.group_replication_force_membersдолжно быть пустым, чтобы выполнить операторSTART GROUP_REPLICATION. -
Формат командной строки --group-replication-group-name=valueСистемная переменная group_replication_group_nameОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Строка Значение этой системной переменной нельзя изменить во время работы Групповой репликации.
group_replication_group_nameуказывает имя группы, к которой относится этот экземпляр сервера, которое должно быть допустимым UUID. Этот UUID является частью GTID, используемых при записи в бинарный журнал транзакций, полученных участниками группы от клиентов, и событий изменения представления, генерируемых внутри участниками группы.ВажноНеобходимо использовать уникальный UUID.
-
Формат командной строки --group-replication-group-seeds=valueСистемная переменная group_replication_group_seedsОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Строка Значение этой системной переменной можно изменить во время работы Групповой репликации, но изменение вступит в силу только после остановки и перезапуска Групповой репликации на узле группы.
group_replication_group_seeds— список участников группы, к которым присоединяющийся участник может подключиться, чтобы получить данные обо всех текущих участниках группы. Присоединяющийся участник использует эти данные для выбора и подключения к участнику группы, чтобы получить данные, необходимые для синхронизации с группой. Список состоит из одного внутреннего сетевого адреса или имени хоста для каждого включенного участника-затравки, как настроено в системной переменнойgroup_replication_local_addressучастника-затравки (а не клиентского соединения SQL участника-затравки, как указано системными переменными MySQL Server'shostnameиport). Адреса участников-затравки указываются через запятую, например,host1:port1,host2:port2. IPv6-адрес должен быть указан в квадратных скобках. Например:group_replication_group_seeds= "198.51.100.44:33061,[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33061, example.org:33061"
Обратите внимание, что значение, указанное вами для этой переменной, не проверяется до тех пор, пока не будет выполнен оператор
START GROUP_REPLICATIONи система групповой коммуникации (GCS) будет доступна.Обычно этот список состоит из всех участников группы, но вы можете выбрать подмножество участников группы, чтобы быть затравками. Список должен содержать по крайней мере один допустимый адрес участника. Каждый адрес проверяется при запуске Групповой репликации. Если список не содержит ни одного допустимого адреса участника, выполнение
START GROUP_REPLICATIONзавершается неудачей.Когда сервер присоединяется к группе репликации, он пытается подключиться к первому участнику-затратке, указанному в его системной переменной
group_replication_group_seeds. Если подключение отклоняется, присоединяющийся участник пытается подключиться к каждому из других участников-затравок в списке по порядку. Если присоединяющийся участник подключается к участнику-затратке, но не добавляется в группу репликации в результате (например, потому что у участника-затравки нет адреса присоединяющегося участника в списке разрешенных и он закрывает соединение), присоединяющийся участник продолжает пытаться подключиться к оставшимся участникам-затравкам в списке по порядку.Присоединяющийся участник должен взаимодействовать с участником-затравкой с помощью того же протокола (IPv4 или IPv6), который участник-затравка рекламирует в параметре
group_replication_group_seeds. Для целей разрешений IP-адресов для Групповой репликации список разрешенных адресов у участника-затравки должен включать IP-адрес присоединяющегося участника для предложенного протокола или имя хоста, которое разрешается в адрес для этого протокола. Этот адрес или имя хоста должны быть настроены и разрешены дополнительно кgroup_replication_local_addressприсоединяющегося участника, если протокол для этого адреса не соответствует рекламируемому участником-затравкой протоколу. Если у присоединяющегося участника нет разрешенного адреса для соответствующего протокола, его попытка подключения отклоняется. Дополнительная информация приведена в Разделе 20.6.4, «Разрешения IP-адресов для Групповой репликации».
-
group_replication_gtid_assignment_block_sizeФормат командной строки --group-replication-gtid-assignment-block-size=#Переменная системы group_replication_gtid_assignment_block_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименимо ли ограничениеНет Тип Целое число Значение по умолчанию 1000000Минимальное значение 1Максимальное значение (64-битные платформы) 9223372036854775807Максимальное значение (32-битные платформы) 4294967295ПримечаниеЭта системная переменная является параметром конфигурации для всей группы, и для вступления изменений в силу требуется полная перезагрузка группы репликации.
group_replication_gtid_assignment_block_sizeопределяет количество последовательных GTID, которые зарезервированы для каждого участника группы. Каждый участник использует свои блоки и резервирует больше при необходимости.Эта системная переменная является параметром конфигурации для всей группы. Она должна иметь одинаковое значение на всех участниках группы, её нельзя изменить во время работы Group Replication, и для вступления изменений в силу требуется полная перезагрузка группы (восстановление сервером с
group_replication_bootstrap_group=ON). Инструкции по безопасному восстановлению группы, где транзакции были выполнены и сертифицированы, см. в разделе 20.5.2, «Перезапуск группы».Если в группе установлено значение для этой системной переменной, а у присоединяющегося участника установлено другое значение, присоединяющийся участник не может присоединиться к группе до тех пор, пока значение не будет изменено для соответствия. Если у участников группы установлено значение для этой системной переменной, а присоединяющийся участник не поддерживает системную переменную, он не может присоединиться к группе.
-
group_replication_ip_allowlistФормат командной строки --group-replication-ip-allowlist=valueПеременная системы group_replication_ip_allowlistОбласть действия Глобальная Динамическая Да SET_VARПрименимо ли ограничениеНет Тип Строка Значение по умолчанию AUTOMATICgroup_replication_ip_allowlistуказывает, какие хосты разрешено подключаться к группе. При использовании стека коммуникаций XCom для группы (group_replication_communication_stack=XCOM), список разрешённых IP-адресов используется для управления доступом к группе. При использовании стека коммуникаций MySQL для группы (group_replication_communication_stack=MYSQL), используется аутентификация пользователя для управления доступом к группе, и список разрешённых IP-адресов не используется и игнорируется, если он задан.Адрес, который вы указываете для каждого участника группы в
group_replication_local_address, должен быть разрешен на других серверах в группе репликации. Обратите внимание, что значение, которое вы указываете для этой переменной, не проверяется до тех пор, пока не будет выполнено операторSTART GROUP_REPLICATIONи система групповой коммуникации (GCS) не будет доступна.По умолчанию эта системная переменная установлена в
AUTOMATIC, что разрешает подключения из частных подсетей, активных на хосте. Движок групповой коммуникации для Group Replication (XCom) автоматически сканирует активные интерфейсы на хосте и определяет те, у которых есть адреса в частных подсетях. Эти адреса иlocalhostIP-адрес для IPv4 и IPv6 используются для создания списка разрешенных IP-адресов для Group Replication. Список диапазонов адресов, которые автоматически разрешены, см. в разделе 20.6.4, «Разрешения IP-адресов Group Replication».Автоматический список разрешенных частных адресов не может быть использован для подключений с серверов за пределами частной сети. Для подключений Group Replication между экземплярами серверов на разных машинах вы должны указать общедоступные IP-адреса и явно включить их в список разрешенных IP-адресов. Если вы указываете какие-либо записи для списка разрешенных IP-адресов, частные адреса не добавляются автоматически, поэтому, если вы используете какие-либо из них, вы должны указать их явно.
localhostIP-адреса добавляются автоматически.В качестве значения опции
group_replication_ip_allowlistвы можете указать любую комбинацию следующего:IPv4-адреса (например,
198.51.100.44)IPv4-адреса с CIDR-нотацией (например,
192.0.2.21/24)IPv6-адреса (например,
2001:db8:85a3:8d3:1319:8a2e:370:7348)IPv6-адреса с CIDR-нотацией (например,
2001:db8:85a3:8d3::/64)Имена хостов (например,
example.org)Имена хостов с CIDR-нотацией (например,
www.example.com/24)
Имена хостов могут разрешаться в IPv4-адреса, IPv6-адреса или оба. Если имя хоста разрешается как в IPv4, так и в IPv6-адрес, для подключений Group Replication всегда используется IPv4-адрес. Вы можете использовать CIDR-нотацию в сочетании с именами хостов или IP-адресами для разрешения блока IP-адресов с определённым префиксом сети, но вы должны убедиться, что все IP-адреса в указанной подсети находятся под вашим контролем.
Каждая запись в списке разрешенных IP-адресов должна быть разделена запятой. Например:
"192.0.2.21/24,198.51.100.44,203.0.113.0/24,2001:db8:85a3:8d3:1319:8a2e:370:7348,example.org,www.example.com/24"
Если какие-либо из seed-членов группы перечислены в опции
group_replication_group_seedsс IPv6-адресом, а у присоединяющегося участника есть IPv4group_replication_local_address, или наоборот, вы также должны настроить и разрешить альтернативный адрес для присоединяющегося участника для протокола, предоставляемого seed-членом (или имя хоста, разрешающееся в адрес для этого протокола). Более подробную информацию см. в разделе 20.6.4, «Разрешения IP-адресов Group Replication».Можно настроить разные списки разрешенных IP-адресов на разных участниках группы в соответствии с вашими требованиями к безопасности, например, для разделения разных подсетей. Однако это может вызвать проблемы при переконфигурации группы. Если у вас нет конкретной необходимости в другом поведении, используйте один и тот же список разрешенных IP-адресов на всех участниках группы. Подробности см. в разделе 20.6.4, «Разрешения IP-адресов Group Replication».
Для имён хостов разрешение имён происходит только при получении запроса на подключение от другого сервера. Имя хоста, которое не может быть разрешено, не учитывается при проверке списка разрешенных IP-адресов, и сообщение об ошибке записывается в журнал ошибок. Проверка FCrDNS (Forward-Confirmed Reverse DNS) выполняется для разрешённых имён хостов.
ПредупреждениеИмена хостов по своей природе менее безопасны, чем IP-адреса в списке разрешенных IP-адресов. Проверка FCrDNS обеспечивает хороший уровень защиты, но может быть уязвимой к определённым видам атак. Указывайте имена хостов в списке разрешенных IP-адресов только в строго необходимых случаях и убедитесь, что все компоненты, используемые для разрешения имён, такие как серверы DNS, находятся под вашим контролем. Вы также можете реализовать локальное разрешение имён с помощью файла hosts, чтобы избежать использования внешних компонентов.
-
group_replication_local_addressФормат командной строки --group-replication-local-address=valueСистемная переменная group_replication_local_addressОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Строка Значение этой системной переменной можно изменить во время работы Групповой репликации, но изменения вступят в силу только после остановки и перезапуска Групповой репликации на узле группы.
group_replication_local_addressзадаёт сетевой адрес, который узел предоставляет для подключений от других узлов, указанный в форматеhost:port. Этот адрес должен быть доступен для всех узлов группы, так как он используется движком групповой коммуникации для Групповой репликации (XCom, вариант Paxos) для TCP-связи между удалёнными экземплярами XCom. Если вы используете стековую реализацию коммуникации MySQL для установления групповых коммуникационных подключений между узлами (group_replication_communication_stack= MYSQL), адрес должен быть одним из IP-адресов и портов, на которых слушает MySQL Server, как указано в системной переменнойbind_addressсервера.ПредупреждениеНе используйте этот адрес для запросов или администрирования баз данных на узле. Это не хост и порт подключения SQL-клиента.
Указанный в
group_replication_local_addressадрес или имя хоста используется Групповой репликацией в качестве уникального идентификатора узла группы в группе репликации. Вы можете использовать один и тот же порт для всех узлов группы репликации, если имена хостов или IP-адреса различны, и вы можете использовать одно и то же имя хоста или IP-адрес для всех узлов, если все порты различны. Рекомендуемый порт дляgroup_replication_local_addressсоставляет 33061. Обратите внимание, что значение, указанное для этой переменной, не валидируется до тех пор, пока не будет выполненоSTART GROUP_REPLICATION, и система групповой коммуникации (GCS) не будет доступна.Сетевой адрес, настроенный с помощью
group_replication_local_address, должен быть разрешим всеми узлами группы. Например, если каждый экземпляр сервера находится на разном компьютере с фиксированным сетевым адресом, можно использовать IP-адрес компьютера, например 10.0.0.1. Если вы используете имя хоста, вы должны использовать полное доменное имя и убедиться, что оно разрешается через DNS, правильно настроенные файлы/etc/hostsили другие процессы разрешения имён. IPv6-адрес необходимо указывать в квадратных скобках для различения номера порта, например:group_replication_local_address= "[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33061"
Если имя хоста, указанное в качестве локального адреса Групповой репликации для экземпляра сервера, разрешается как к IPv4, так и к IPv6-адресу, для подключений Групповой репликации всегда используется IPv4-адрес. Более подробную информацию о поддержке Групповой репликации для IPv6-сетей и о группах репликации с использованием как IPv4, так и IPv6-узлов, см. в Разделе 20.5.5, «Support For IPv6 And For Mixed IPv6 And IPv4 Groups».
Если вы используете стековую реализацию коммуникации XCom для установления групповых коммуникационных подключений между узлами (
group_replication_communication_stack = XCOM), адрес, указанный для каждого узла группы вgroup_replication_local_address, должен быть добавлен в список для системной переменнойgroup_replication_ip_allowlistна других серверах в группе репликации. При использовании стековой реализации коммуникации XCom для группы используется список разрешённых адресов для управления доступом к группе. При использовании стековой реализации коммуникации MySQL для группы используется проверка подлинности пользователя для управления доступом к группе, и список разрешённых адресов не используется и игнорируется при установке. Если какие-либо из узлов-источников группы указаны вgroup_replication_group_seedsс IPv6-адресом, в то время как у этого узла есть IPv4group_replication_local_address, или наоборот, необходимо также настроить и разрешить альтернативный адрес для этого узла для требуемого протокола (или имя хоста, которое разрешается на адрес для этого протокола). Более подробную информацию см. в Разделе 20.6.4, «Group Replication IP Address Permissions». -
group_replication_member_expel_timeoutФормат командной строки --group-replication-member-expel-timeout=#Системная переменная group_replication_member_expel_timeoutОбласть действия Глобальная Динамическая Да SET_VARПрименимоНет Тип Целое число Значение по умолчанию 5Минимальное значение 0Максимальное значение 3600Единица измерения секунды Значение этой системной переменной можно изменить во время работы Групповой репликации, и изменения вступят в силу немедленно. Текущее значение системной переменной считывается каждый раз, когда Групповая репликация проверяет таймаут. Необязательно, чтобы все узлы группы имели одинаковые настройки, но рекомендуется, чтобы избежать непредвиденных исключений.
group_replication_member_expel_timeoutзадаёт период времени в секундах, который узел Групповой репликации ожидает после возникновения подозрения, прежде чем исключить из группы узел, заподозренный в отказе. Начальный период обнаружения 5 секунд до создания подозрения не считается частью этого времени. Значениеgroup_replication_member_expel_timeoutпо умолчанию равно 5, что означает, что заподозренный узел может быть исключен через 5 секунд после периода обнаружения в 5 секунд.Изменение значения
group_replication_member_expel_timeoutна узле группы вступает в силу немедленно для существующих и будущих подозрений относительно этого узла группы. Поэтому это можно использовать как метод принудительного истечения срока подозрения и исключения подозреваемого узла, позволяя изменять конфигурацию группы. Более подробную информацию см. в Разделе 20.7.7.1, «Expel Timeout».Увеличение значения
group_replication_member_expel_timeoutможет помочь избежать ненужных исключений в медленных или менее стабильных сетях или в случае ожидаемых временных сбоев сети или замедления работы машины. Если подозреваемый узел снова становится активным до истечения срока подозрения, он применяет все сообщения, которые были буферизованы остальными узлами группы, и переходит в состояниеONLINEбез вмешательства оператора. Необходимо убедиться, что кэш сообщений XCom достаточно велик, чтобы вместить ожидаемый объём сообщений за указанный период времени, плюс начальный период обнаружения в 5 секунд; в противном случае узлы не смогут повторно подключиться. Размер ограничения кэша можно настроить с помощью системной переменнойgroup_replication_message_cache_size. Более подробную информацию см. в Разделе 20.7.6, «XCom Cache Management».Если таймаут истечёт, подозреваемый узел будет исключён сразу после истечения срока подозрения. Если узел сможет возобновить коммуникацию и получит уведомление об исключении, и у узла установлена системная переменная
group_replication_autorejoin_triesс указанием количества попыток автоматического повторного подключения, он предпринимает указанное количество попыток повторного подключения к группе в режиме только чтения. Если у узла не задано количество попыток автоматического повторного подключения или он исчерпал указанное количество попыток, он выполняет действие, указанное в системной переменнойgroup_replication_exit_state_action.Более подробную информацию об использовании настройки
group_replication_member_expel_timeoutсм. в Разделе 20.7.7.1, «Expel Timeout». Альтернативные стратегии смягчения последствий, чтобы избежать ненужных исключений, где эта системная переменная недоступна, см. в Разделе 20.3.2, «Group Replication Limitations».
-
group_replication_member_weightФормат командной строки --group-replication-member-weight=#Системная переменная group_replication_member_weightОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Целое число Значение по умолчанию 50Минимальное значение 0Максимальное значение 100Единицы измерения процент Значение этой системной переменной можно изменить во время работы Group Replication, и изменения вступят в силу немедленно. Текущее значение системной переменной считывается во время ситуации failover.
group_replication_member_weightопределяет процентный вес, который можно назначить членам, чтобы повлиять на вероятность избрания члена в качестве первичного в случае failover, например, когда существующий первичный член покидает группу с одним первичным членом. Назначайте числовые веса членам, чтобы гарантировать избрание конкретных членов, например, во время планового технического обслуживания первичного члена или для обеспечения приоритета определенного оборудования в случае failover.Для группы с членами, настроенными следующим образом:
member-1: group_replication_member_weight=30, server_uuid=aaaamember-2: group_replication_member_weight=40, server_uuid=bbbbmember-3: group_replication_member_weight=40, server_uuid=ccccmember-4: group_replication_member_weight=40, server_uuid=dddd
во время выбора нового первичного члена упомянутые члены будут отсортированы как
member-2,member-3,member-4иmember-1. В результатеmember-2 будет выбран в качестве нового первичного члена в случае failover. Для получения дополнительной информации см. Раздел 20.1.3.1, «Режим с одним первичным членом». -
group_replication_message_cache_sizeФормат командной строки --group-replication-message-cache-size=#Системная переменная group_replication_message_cache_sizeОбласть действия Глобальная Динамическая Да SET_VARПрименимо к подсказкеНет Тип Целое число Значение по умолчанию 1073741824 (1 GB)Минимальное значение 134217728 (128 MB)Максимальное значение (64-битные платформы) 18446744073709551615 (16 EiB)Максимальное значение (32-битные платформы) 315360004294967295 (4 GB)Единицы измерения байты Эта системная переменная должна иметь одинаковое значение на всех членах группы. Значение этой системной переменной можно изменить во время работы Group Replication. Изменения вступят в силу на каждом члене группы после остановки и перезапуска Group Replication на этом члене. В процессе этого значения системной переменной могут отличаться между членами группы, но члены могут не смогут подключиться снова в случае отключения.
group_replication_message_cache_sizeустанавливает максимальный объем памяти, доступный для кэша сообщений в движке групповой коммуникации Group Replication (XCom). Кэш сообщений XCom хранит сообщения (и их метаданные), которые обмениваются между членами группы в рамках протокола консенсуса. Среди прочего, кэш сообщений используется для восстановления пропущенных сообщений членами, которые подключаются к группе после периода, когда они не могли взаимодействовать с другими членами группы.Переменная
group_replication_member_expel_timeoutопределяет период ожидания (до одного часа), который разрешен в дополнение к начальному 5-секундному периоду обнаружения для возвращения членов в группу вместо их исключения. Размер кэша сообщений XCom должен устанавливаться с учетом ожидаемого объема сообщений в этот период, чтобы он содержал все пропущенные сообщения, необходимые для успешного возвращения членов. По умолчанию период ожидания составляет 5 секунд после 5-секундного периода обнаружения, в общей сложности 10 секунд.Убедитесь, что на вашем компьютере достаточно памяти для выбранного размера кэша, учитывая размер других кэшей и пулов объектов сервера. Значение по умолчанию составляет 1073741824 байта (1 ГБ). Минимальное значение 134217728 байт (128 МБ) позволяет развертывание на хосте с ограниченным объемом доступной памяти и хорошей сетевой связью, чтобы свести к минимуму частоту и продолжительность временных потерь подключения для членов группы. Обратите внимание, что ограничение, установленное с помощью
group_replication_message_cache_size, относится только к данным, хранящимся в кэше, а для структур кэша требуется дополнительная память в объеме 50 МБ.Размер кэша можно динамически увеличивать или уменьшать во время выполнения. Если вы уменьшите размер кэша, XCom удаляет самые старые записи, которые были приняты и переданы, пока текущий размер не станет меньше ограничения. Система групповой коммуникации Group Replication (GCS) уведомляет вас сообщением об ошибке, когда сообщение, которое, вероятно, потребуется для восстановления членом, который в настоящее время недоступен, удаляется из кэша сообщений. Для получения дополнительной информации по настройке размера кэша сообщений см. Раздел 20.7.6, «Управление кэшем XCom».
-
group_replication_paxos_single_leaderФормат командной строки --group-replication-paxos-single-leader[={OFF|ON}]Системная переменная group_replication_paxos_single_leaderОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFПримечаниеЭта системная переменная является настройкой конфигурации для всей группы, и для вступления изменений в силу требуется полная перезагрузка реплицируемой группы.
group_replication_paxos_single_leaderпозволяет движку групповой коммуникации работать с единственным лидером консенсуса, когда группа находится в режиме единичного первичного сервера. Со значением по умолчаниюOFFэто поведение отключено, и каждый член группы используется как лидер, что соответствует поведению в версиях до появления этой системной переменной. Когда эта переменная установлена в значениеON, движок групповой коммуникации может использовать единственного лидера для управления консенсусом. Работа с единственным лидером консенсуса улучшает производительность и устойчивость в режиме единичного первичного сервера, особенно когда некоторые вторичные члены группы недоступны. Для получения дополнительной информации см. Раздел 20.7.3 «Единственный лидер консенсуса».Для того чтобы движок групповой коммуникации мог использовать единственного лидера консенсуса, версия протокола коммуникации группы должна быть MySQL 8.0.27 или более поздней. Используйте
group_replication_get_communication_protocol()для получения версии протокола коммуникации группы. Если используется более ранняя версия, группа не может использовать это поведение. Вы можете использоватьgroup_replication_set_communication_protocol()для изменения протокола коммуникации на более новую версию, если все члены группы её поддерживают. Для получения дополнительной информации см. Раздел 20.5.1.4 «Указание версии протокола коммуникации группы».Эта системная переменная является настройкой конфигурации для всей группы. Она должна иметь одинаковое значение на всех участниках группы, не может быть изменена во время работы Групповой Репликации и требует полной перезагрузки группы (bootstrap сервером с
group_replication_bootstrap_group=ON) для того, чтобы изменения вступили в силу. Инструкции по безопасному запуску группы, где были выполнены и подтверждены транзакции, см. в Разделе 20.5.2 «Перезапуск группы».Если для этой системной переменной в группе установлено значение, а у присоединяющегося участника установлено другое значение, присоединяющийся участник не сможет присоединиться к группе до тех пор, пока значение не будет изменено в соответствии с группой. Если для членов группы установлено значение этой переменной, а присоединяющийся участник не поддерживает эту переменную, он не сможет присоединиться к группе.
Столбец
WRITE_CONSENSUS_SINGLE_LEADER_CAPABLEв таблице Performance Schemareplication_group_communication_informationпоказывает, поддерживает ли группа использование единственного лидера, даже еслиgroup_replication_paxos_single_leaderв настоящее время установлена в значениеOFFна запрошенном участнике. Значение столбца равно 1, если группа была запущена со значениемgroup_replication_paxos_single_leader, установленным вON, и версия протокола коммуникации — MySQL 8.0.27 или более поздняя. -
group_replication_poll_spin_loopsФормат командной строки --group-replication-poll-spin-loops=#Системная переменная group_replication_poll_spin_loopsОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое Значение по умолчанию 0Минимальное значение 0Максимальное значение (64-битные платформы) 18446744073709551615Максимальное значение (32-битные платформы) 4294967295Значение этой системной переменной можно изменять во время работы Групповой Репликации, но изменения вступят в силу только после остановки и перезапуска Групповой Репликации на участнике группы.
group_replication_poll_spin_loopsзадаёт количество раз, когда поток групповой коммуникации ожидает освобождения мьютекса движка коммуникации, прежде чем поток будет ожидать новых входящих сетевых сообщений. -
group_replication_preemptive_garbage_collectionФормат командной строки --group-replication-preemptive-garbage-collection[=ON|OFF]Системная переменная group_replication_preemptive_garbage_collectionОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFВключить предварительную сборку мусора в режиме единичного первичного сервера (только), оставляя только наборы записей для тех транзакций, которые ещё не были подтверждены в базе данных.
В режиме единичного первичного сервера можно очистить наборы записей для данной транзакции раньше, чем в режиме многопервичного сервера; это связано с тем, что конфликты обнаруживаются и обрабатываются менеджером блокировок базы данных на сервере во время выполнения транзакций; таким образом, наборы записей полезны только для вычисления зависимостей между транзакциями, а не для обнаружения конфликтов. Это означает, что наборы записей можно очистить сразу после того, как транзакция, к которой они относятся, отслеживается в модуле обнаружения зависимостей и конфликтов транзакций Групповой Репликации.
Агрессивное удаление наборов записей, выполняемое при включении
group_replication_preemptive_garbage_collection, имеет следующие эффекты:Снижение памяти, используемой для хранения наборов записей в памяти
Снижение влияния отстающих вторичных серверов на отслеживание наборов записей на первичном сервере
Снижение времени удержания блокировки базы данных набора записей за раунд удаления набора записей, а следовательно, снижение его влияния на пропускную способность
Значение
group_replication_preemptive_garbage_collectionможно изменять только при отсутствии работы Групповой Репликации и не оказывает влияния на работу группы в режиме многопервичного сервера. Кроме того, при включении этой системной переменной невозможно переключаться между режимами многопервичного и единичного первичного сервера (см. Раздел 20.5.1.2 «Изменение режима группы»).group_replication_preemptive_garbage_collectionдолжно иметь одинаковое значение на всех участниках группы. Значениеgroup_replication_preemptive_garbage_collectionнового присоединяющегося участника должно совпадать со значениями всех текущих участников группы, иначе он не сможет присоединиться.Участник группы, работающий на версии MySQL, предшествующей 8.4.0, не отправляет значение
group_replication_preemptive_garbage_collection; в таких случаях значение считаетсяOFF. -
group_replication_preemptive_garbage_collection_rows_thresholdФормат командной строки --group-replication-preemptive-garbage-collection-rows-threshold=#Системная переменная group_replication_preemptive_garbage_collection_rows_thresholdОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое Значение по умолчанию 100000Минимальное значение 10000Максимальное значение 100000000При включённой предварительной сборке мусора в режиме единичного первичного сервера (
group_replication_preemptive_garbage_collectionустановлено вON), это количество строк информации о подтверждении, необходимое для её активации.Эта переменная не оказывает влияния на группу, работающую в режиме многопервичного сервера.
-
group_replication_recovery_compression_algorithmsФормат командной строки --group-replication-recovery-compression-algorithms=valueСистемная переменная group_replication_recovery_compression_algorithmsОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Множество Значение по умолчанию uncompressedДопустимые значения zlibzstduncompressedgroup_replication_recovery_compression_algorithmsопределяет алгоритмы сжатия, разрешенные для распределенных соединений восстановления Group Replication для передачи состояния из двоичного журнала донора. Доступные алгоритмы такие же, как для системной переменнойprotocol_compression_algorithms. Дополнительную информацию см. в разделе 6.2.8, «Управление сжатием соединений».Значение этой системной переменной можно изменить во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на узле группы.
Это значение не применяется, если сервер настроен для поддержки клонирования (см. раздел 20.5.4.2, «Клонирование для распределенного восстановления»), и при распределенном восстановлении используется операция удаленного клонирования. Для этого метода передачи состояния применяется значение параметра плагина клонирования
clone_enable_compression. -
group_replication_recovery_get_public_keyФормат командной строки --group-replication-recovery-get-public-key[={OFF|ON}]Системная переменная group_replication_recovery_get_public_keyОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию OFFЗначение этой системной переменной можно изменить во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_get_public_keyуказывает, нужно ли запросить у источника открытый ключ, необходимый для обмена паролями на основе пар ключей RSA. Еслиgroup_replication_recovery_public_key_pathзадано значением валидного файла открытого ключа, это значение имеет приоритет надgroup_replication_recovery_get_public_key. Эта переменная применяется, если вы не используете SSL для распределенного восстановления через каналgroup_replication_recovery(group_replication_recovery_use_ssl=ON), и учетная запись пользователя репликации для Group Replication аутентифицируется с помощью плагинаcaching_sha2_password(по умолчанию). Более подробную информацию см. в разделе 20.6.3.1.1, «Пользователь репликации с плагином аутентификации кэширования SHA-2». -
group_replication_recovery_public_key_pathФормат командной строки --group-replication-recovery-public-key-path=file_nameСистемная переменная group_replication_recovery_public_key_pathОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Имя файла Значение по умолчанию empty stringЗначение этой системной переменной можно изменить во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_public_key_pathуказывает имя файла, содержащего копию открытого ключа стороны реплики, необходимую источнику для обмена паролями на основе пар ключей RSA. Файл должен быть в формате PEM. Еслиgroup_replication_recovery_public_key_pathзадано значением валидного файла открытого ключа, это значение имеет приоритет надgroup_replication_recovery_get_public_key. Эта переменная применяется, если вы не используете SSL для распределенного восстановления через каналgroup_replication_recovery(то естьgroup_replication_recovery_use_sslзадано значениемOFF), и учетная запись пользователя репликации для Group Replication аутентифицируется с помощью плагинаcaching_sha2_password(по умолчанию) или плагинаsha256_password(устаревший). (Дляsha256_password, значениеgroup_replication_recovery_public_key_pathприменяется только в том случае, если MySQL был скомпилирован с использованием OpenSSL.) Дополнительную информацию см. в разделе 20.6.3.1.1, «Пользователь репликации с плагином аутентификации кэширования SHA-2». -
group_replication_recovery_reconnect_intervalФормат командной строки --group-replication-recovery-reconnect-interval=#Системная переменная group_replication_recovery_reconnect_intervalОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое Значение по умолчанию 60Минимальное значение 0Максимальное значение 31536000Единица измерения секунды Значение этой системной переменной можно изменить во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_reconnect_intervalзадает время ожидания в секундах между попытками повторного подключения, когда в группе не был найден подходящий донор для распределенного восстановления. -
group_replication_recovery_retry_countФормат командной строки --group-replication-recovery-retry-count=#Системная переменная group_replication_recovery_retry_countОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое Значение по умолчанию 10Минимальное значение 0Максимальное значение 31536000Значение этой системной переменной можно изменить во время работы Group Replication, но изменение вступит в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_retry_countуказывает количество попыток подключения узла, присоединяющегося к доступным донорам для распределенного восстановления, прежде чем прекратить попытки.
-
group_replication_recovery_ssl_caФормат командной строки --group-replication-recovery-ssl-ca=valueСистемная переменная group_replication_recovery_ssl_caОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_ssl_caуказывает путь к файлу, содержащему список доверенных центров сертификации SSL для подключений распределенного восстановления. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Если этот сервер настроен на поддержку клонирования (см. Раздел 20.5.4.2, «Клонирование для распределенного восстановления»), и вы установили
group_replication_recovery_use_sslвON, Group Replication автоматически настраивает параметр для параметра SSL-клонаclone_ssl_caв соответствии с вашим параметром дляgroup_replication_recovery_ssl_ca.Когда стек связи MySQL используется для группы (
group_replication_communication_stack = MYSQL), этот параметр используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_ssl_capathФормат командной строки --group-replication-recovery-ssl-capath=valueСистемная переменная group_replication_recovery_ssl_capathОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_ssl_capathуказывает путь к каталогу, содержащему сертификаты доверенных центров сертификации SSL для подключений распределенного восстановления. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Когда стек связи MySQL используется для группы (
group_replication_communication_stack = MYSQL), этот параметр используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_ssl_certФормат командной строки --group-replication-recovery-ssl-cert=valueСистемная переменная group_replication_recovery_ssl_certОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_ssl_certуказывает имя файла сертификата SSL, используемого для установления защищенного соединения для распределенного восстановления. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Если этот сервер настроен на поддержку клонирования (см. Раздел 20.5.4.2, «Клонирование для распределенного восстановления»), и вы установили
group_replication_recovery_use_sslвON, Group Replication автоматически настраивает параметр для параметра SSL-клонаclone_ssl_certв соответствии с вашим параметром дляgroup_replication_recovery_ssl_cert.Когда стек связи MySQL используется для группы (
group_replication_communication_stack = MYSQL), этот параметр используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_ssl_cipherФормат командной строки --group-replication-recovery-ssl-cipher=valueСистемная переменная group_replication_recovery_ssl_cipherОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_ssl_cipherуказывает список допустимых шифров для шифрования SSL. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Когда стек связи MySQL используется для группы (
group_replication_communication_stack = MYSQL), этот параметр используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_ssl_crlФормат командной строки --group-replication-recovery-ssl-crl=valueСистемная переменная group_replication_recovery_ssl_crlОбласть действия Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Имя файла Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_ssl_crlуказывает путь к каталогу, содержащему файлы со списками отзыва сертификатов. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Когда стек связи MySQL используется для группы (
group_replication_communication_stack = MYSQL), этот параметр используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления.
-
group_replication_recovery_ssl_crlpathФормат командной строки --group-replication-recovery-ssl-crlpath=valueСистемная переменная group_replication_recovery_ssl_crlpathОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Имя каталога Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_ssl_crlpathуказывает путь к каталогу, содержащему файлы с списками отозванных сертификатов. См. Раздел 20.6.2, «Защита соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Когда для группы используется стек коммуникаций MySQL (
group_replication_communication_stack = MYSQL), это значение используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_ssl_keyФормат командной строки --group-replication-recovery-ssl-key=valueСистемная переменная group_replication_recovery_ssl_keyОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_ssl_keyуказывает имя файла ключа SSL для создания защищенного соединения. См. Раздел 20.6.2, «Защита соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Если на этом сервере настроено клонирование (см. Раздел 20.5.4.2, «Клонирование для распределенного восстановления»), и вы установили
group_replication_recovery_use_sslв значениеON, Group Replication автоматически настраивает значение для опции клонирования SSLclone_ssl_keyдля соответствия вашему значению дляgroup_replication_recovery_ssl_key.Если для группы используется стек коммуникаций MySQL (
group_replication_communication_stack = MYSQL), это значение используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_ssl_verify_server_certФормат командной строки --group-replication-recovery-ssl-verify-server-cert[={OFF|ON}]Системная переменная group_replication_recovery_ssl_verify_server_certОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Булево Значение по умолчанию OFFЗначение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_ssl_verify_server_certопределяет, нужно ли соединению распределенного восстановления проверять значение общего имени сервера в сертификате, отправленном донором. См. Раздел 20.6.2, «Защита соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Если для группы используется стек коммуникаций MySQL (
group_replication_communication_stack = MYSQL), это значение используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления. -
group_replication_recovery_tls_ciphersuitesФормат командной строки --group-replication-recovery-tls-ciphersuites=valueСистемная переменная group_replication_recovery_tls_ciphersuitesОбласть действия Глобальная Динамическая Да SET_VARПрименяется подсказкаНет Тип Строка Значение по умолчанию NULLЗначение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_recovery_tls_ciphersuitesопределяет список разрешенных наборов шифров, разделенных двоеточием, используемых при шифровании TLSv1.3 для подключения распределенного восстановления, когда этот сервер является клиентом в подключении распределенного восстановления, то есть присоединяющимся членом. Если эта системная переменная установлена в значениеNULLпри использовании TLSv1.3 (что является значением по умолчанию, если вы не устанавливаете системную переменную), то разрешены наборы шифров, включенные по умолчанию, как указано в Разделе 8.3.2, «Протоколы TLS и наборы шифров для защищенного соединения». Если эта системная переменная установлена в пустую строку, то наборы шифров не разрешены, и TLSv1.3 не используется. См. Раздел 20.6.2, «Защита соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Если для группы используется стек коммуникаций MySQL (
group_replication_communication_stack = MYSQL), это значение используется для конфигурации TLS/SSL для соединений групповой связи, а также для соединений распределенного восстановления.
-
group_replication_recovery_tls_versionФормат командной строки --group-replication-recovery-tls-version=valueСистемная переменная group_replication_recovery_tls_versionОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Строка Значение по умолчанию TLSv1.2,TLSv1.3Значение этой системной переменной можно изменять во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_tls_versionуказывает разделенный запятыми список одного или нескольких разрешенных протоколов TLS для шифрования соединения, когда этот экземпляр сервера является клиентом в распределенном соединении восстановления, то есть присоединяющимся членом. Участвующие в каждом распределенном соединении восстановления члены группы в качестве клиента (присоединяющийся член) и сервера (донор) согласовывают самую высокую версию протокола, которую они оба настроены поддерживать.Когда для группы используется стек связи MySQL (
group_replication_communication_stack = MYSQL), это значение используется для конфигурации TLS/SSL для соединений групповой связи, а также для распределенных соединений восстановления.Значение по умолчанию — “
TLSv1.2,TLSv1.3”. Убедитесь, что указанные версии протокола являются непрерывными, без пропущенных номеров версий из середины последовательности.ВажноПоддержка протоколов соединения TLSv1 и TLSv1.1 была объявлена устаревшей и позже удалена из MySQL в MySQL 8.0. См. Удаление поддержки протоколов TLSv1 и TLSv1.1 для получения дополнительной информации.
Поддержка протокола TLSv1.3 доступна в MySQL 8.4 при условии, что MySQL был скомпилирован с использованием OpenSSL 1.1.1. Сервер проверяет версию OpenSSL при запуске, и если она ниже 1.1.1, TLSv1.3 удаляется из значения по умолчанию для системной переменной. В этом случае значение по умолчанию —
TLSv1.2.Group Replication поддерживает TLSv1.3 с поддержкой выбора набора шифров. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения дополнительной информации.
См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.
-
group_replication_recovery_use_sslФормат командной строки --group-replication-recovery-use-ssl[={OFF|ON}]Системная переменная group_replication_recovery_use_sslОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Логическое Значение по умолчанию OFFЗначение этой системной переменной можно изменять во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_use_sslуказывает, следует ли использовать SSL для распределенных соединений восстановления Group Replication между членами группы или нет. См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для распределенного восстановления.Если этот сервер был настроен для поддержки клонирования (см. Раздел 20.5.4.2, «Клонирование для распределенного восстановления»), и вы установите этот параметр в
ON, Group Replication будет использовать SSL для удаленных операций клонирования, а также для передачи состояния из двоичного журнала донора. Если вы установите этот параметр вOFF, Group Replication не будет использовать SSL для удаленных операций клонирования. -
group_replication_recovery_zstd_compression_levelФормат командной строки --group-replication-recovery-zstd-compression-level=#Системная переменная group_replication_recovery_zstd_compression_levelОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Целое число Значение по умолчанию 3Минимальное значение 1Максимальное значение 22Значение этой системной переменной можно изменять во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на члене группы.
group_replication_recovery_zstd_compression_levelуказывает уровень сжатия, который следует использовать для распределенных соединений восстановления Group Replication, использующих алгоритм сжатияzstd. Допустимые уровни — от 1 до 22, при этом большие значения указывают на возрастающие уровни сжатия. Уровень сжатия по умолчаниюzstdравен 3. Для распределенных соединений восстановления, которые не используют сжатиеzstd, эта переменная не оказывает никакого влияния.Для получения дополнительной информации см. Раздел 6.2.8, «Управление сжатием соединений».
-
group_replication_single_primary_modeФормат командной строки --group-replication-single-primary-mode[={OFF|ON}]Системная переменная group_replication_single_primary_modeОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применяетсяНет Тип Логическое Значение по умолчанию ONПримечаниеЭта системная переменная является настройкой конфигурации всей группы, и для вступления изменений в силу требуется полная перезагрузка группы репликации.
group_replication_single_primary_modeпредписывает группе автоматически выбирать один сервер, который будет обрабатывать рабочую нагрузку чтения/записи. Этот сервер является основным, а все остальные — вторичными.Эта системная переменная является настройкой конфигурации всей группы. Она должна иметь одно и то же значение на всех членах группы, не может быть изменена во время работы Group Replication и требует полной перезагрузки группы (загрузка с помощью сервера с
group_replication_bootstrap_group=ON) для того, чтобы изменение значения вступило в силу. Инструкции по безопасной загрузке группы, в которой были выполнены и подтверждены транзакции, см. в Разделе 20.5.2, «Перезапуск группы».Если для группы установлено значение для этой системной переменной, а для присоединяющегося члена установлено другое значение для системной переменной, присоединяющийся член не сможет присоединиться к группе, пока значение не будет изменено на совпадающее. Если для членов группы установлено значение для этой системной переменной, а присоединяющийся член не поддерживает системную переменную, он не сможет присоединиться к группе.
Установка этой переменной в
ONприводит к игнорированию любых настроек дляgroup_replication_auto_increment_increment.Используйте функции
group_replication_switch_to_single_primary_mode()иgroup_replication_switch_to_multi_primary_mode()для изменения значения этой системной переменной, пока группа все еще работает. Для получения дополнительной информации см. Раздел 20.5.1.2, «Изменение режима группы».
-
Командная строка --group-replication-ssl-mode=valueСистемная переменная group_replication_ssl_modeОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию DISABLEDДопустимые значения DISABLEDREQUIREDVERIFY_CAVERIFY_IDENTITYЗначение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_ssl_modeзадает состояние безопасности соединений групповой связи между узлами Group Replication. Возможные значения следующие:- DISABLED
Установить нешифрованное соединение (по умолчанию).
- REQUIRED
Установить безопасное соединение, если сервер поддерживает безопасные соединения.
- VERIFY_CA
Как
REQUIRED, но дополнительно проверяет сертификат сервера TLS по отношению к настроенным сертификатам Удостоверяющего центра (УЦ).- VERIFY_IDENTITY
Как
VERIFY_CA, но дополнительно проверяет, соответствует ли сертификат сервера хосту, к которому происходит попытка подключения.
См. Раздел 20.6.2, «Обеспечение безопасности соединений групповой связи с помощью Secure Socket Layer (SSL)» для получения информации о настройке SSL для групповой связи.
-
group_replication_start_on_bootКомандная строка --group-replication-start-on-boot[={OFF|ON}]Системная переменная group_replication_start_on_bootОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Булево Значение по умолчанию ONЗначение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_start_on_bootуказывает, должен ли сервер автоматически запускать Group Replication (ON) или нет (OFF) во время запуска сервера. При установке этого параметра в значениеON, Group Replication автоматически перезапускается после использования удаленной операции клонирования для распределенного восстановления.Для автоматического запуска Group Replication при запуске сервера учетные данные пользователя для распределенного восстановления должны храниться в репозиториях метаданных репликации на сервере с использованием инструкции
CHANGE REPLICATION SOURCE TO. Если вы предпочитаете указывать учетные данные пользователя в рамках инструкцииSTART GROUP_REPLICATION, которая хранит учетные данные пользователя только в памяти, убедитесь, чтоgroup_replication_start_on_bootустановлена в значениеOFF. -
Командная строка --group-replication-tls-source=valueСистемная переменная group_replication_tls_sourceОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Перечисление Значение по умолчанию mysql_mainДопустимые значения mysql_mainmysql_adminЗначение этой системной переменной можно изменить во время работы Group Replication, но изменения вступят в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_tls_sourceуказывает источник TLS-материалов для Group Replication. -
group_replication_transaction_size_limitКомандная строка --group-replication-transaction-size-limit=#Системная переменная group_replication_transaction_size_limitОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 150000000Минимальное значение 0Максимальное значение 2147483647Единицы измерения байты Эта системная переменная должна иметь одинаковое значение на всех узлах группы. Значение этой системной переменной можно изменить во время работы Group Replication. Изменение вступает в силу немедленно на узле группы и применяется с начала следующей транзакции на этом узле. В этом процессе разрешено различие значений переменной между узлами группы, но некоторые транзакции могут быть отклонены.
group_replication_transaction_size_limitнастраивает максимальный размер транзакции в байтах, который группа репликации принимает. Транзакции, превышающие этот размер, откатываются принимающим узлом и не транслируются в группу. Крупные транзакции могут вызвать проблемы для группы репликации с точки зрения выделения памяти, что может привести к замедлению системы, или с точки зрения потребления сетевой полосы пропускания, что может привести к подозрению в отказе узла из-за его занятости обработкой большой транзакции.При установке этой системной переменной в значение 0, размер транзакций, принимаемых группой, не ограничен. Значение по умолчанию — 150000000 байтов (приблизительно 143 МБ). Настройте значение этой системной переменной в зависимости от максимального размера сообщения, который должна переносить группа, помня о том, что время обработки транзакции пропорционально её размеру. Значение
group_replication_transaction_size_limitдолжно быть одинаковым на всех узлах группы. Для получения дополнительных стратегий по смягчению последствий больших транзакций см. Раздел 20.3.2, «Ограничения Group Replication».
-
group_replication_unreachable_majority_timeoutКомандная строка --group-replication-unreachable-majority-timeout=#Системная переменная group_replication_unreachable_majority_timeoutОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Целое число Значение по умолчанию 0Минимальное значение 0Максимальное значение 31536000Единица измерения секунды Значение этой системной переменной можно изменить во время работы Group Replication, и изменения вступят в силу немедленно. Текущее значение системной переменной считывается при возникновении проблемы, требующей соответствующего поведения.
group_replication_unreachable_majority_timeoutзадаёт количество секунд, в течение которого члены, попавшие в сеть разбиения и не способные подключиться к большинству, ожидают перед выходом из группы. В группе из 5 серверов (S1,S2,S3,S4,S5), если происходит разрыв соединения между (S1,S2) и (S3,S4,S5), имеет место разбиение сети. Первая группа (S1,S2) теперь находится в меньшинстве, поскольку не может связаться более чем с половиной группы. В то время как группа большинства (S3,S4,S5) продолжает работу, группа меньшинства ждёт заданное время для повторного подключения к сети. Подробное описание этой ситуации см. в Разделе 20.7.8, «Обработка разбиения сети и потери кворума».По умолчанию,
group_replication_unreachable_majority_timeoutустановлено в 0, что означает, что члены, оказавшиеся в меньшинстве из-за разбиения сети, ожидают бесконечно долго, прежде чем покинуть группу. Если вы установите таймаут, когда истечёт заданное время, все ожидающие транзакции, обработанные меньшинством, будут отменены, а серверы в меньшинстве перейдут в состояниеERROR. Если у члена установлено значение системной переменнойgroup_replication_autorejoin_triesдля указания количества попыток повторного присоединения, он предпримет указанное количество попыток присоединения к группе в режиме супер-только для чтения. Если у члена не задано количество попыток повторного присоединения или попытки исчерпаны, он выполнит действие, заданное системной переменнойgroup_replication_exit_state_action.ПредупреждениеПри симметричной группе, например, с двумя членами (S0,S2), если происходит разбиение сети и нет большинства, после истечения заданного таймаута все члены переходят в состояние
ERROR.Дополнительную информацию об использовании этого параметра см. в Разделе 20.7.7.2, «Таймаут недоступного большинства».
-
group_replication_view_change_uuidКомандная строка --group-replication-view-change-uuid=valueУстаревшее Да Системная переменная group_replication_view_change_uuidОбласть действия Глобальная Динамическая Да SET_VARПрименяется ли подсказкаНет Тип Строка Значение по умолчанию AUTOMATICПримечаниеЭта системная переменная является групповой конфигурацией, и для вступления изменений в силу требуется полная перезагрузка группы репликации.
group_replication_view_change_uuidзадаёт альтернативный UUID для использования в качестве UUID части идентификатора в GTID для событий изменения представления, генерируемых группой. Альтернативный UUID упрощает различение этих внутренних транзакций от транзакций, полученных группой от клиентов. Это может быть полезно, если ваша настройка позволяет переключаться между группами, и вам нужно идентифицировать и отбрасывать транзакции, специфичные для резервной группы. Значение по умолчанию этой системной переменной —AUTOMATIC, что означает, что GTID для событий изменения представления используют имя группы, заданное системной переменнойgroup_replication_group_name, как и транзакции от клиентов. Члены группы на версии, не имеющей этой системной переменной, рассматриваются как имеющие значениеAUTOMATIC.Альтернативный UUID должен отличаться от имени группы, заданного системной переменной
group_replication_group_name, и от UUID любого члена группы. Он также должен отличаться от любых UUID, используемых в GTID, применимых к анонимным транзакциям на каналах репликации где-либо в этой топологии, с использованием параметраASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONSинструкцииCHANGE REPLICATION SOURCE TO.Эта системная переменная является групповой конфигурацией. Она должна иметь одинаковое значение на всех членах группы, её нельзя изменить во время работы Group Replication, и для вступления изменений в силу требуется полная перезагрузка группы (с началом работы сервером с
group_replication_bootstrap_group=ON). Инструкции по безопасному запуску группы, где были выполнены и подтверждены транзакции, см. в Разделе 20.5.2, «Перезапуск группы».Если для этой системной переменной установлено значение в группе, и присоединяющийся член имеет другое значение, присоединение члена невозможно до изменения значения на совпадение. Если у членов группы установлено значение для этой системной переменной, а присоединяющийся член не поддерживает её, присоединение невозможно.
Ведение журнала событий изменения представления заменено совместным использованием метаданных восстановления, поэтому эта переменная устарела и может быть удалена в будущих версиях MySQL.
© 2025 Oracle
Licensed under the GPLv2 License.