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, но изменение вступит в силу только после остановки и перезапуска Group Replication на узле группы.
group_replication_clone_thresholdзадает разрыв транзакций в количестве транзакций между существующим узлом (донором) и присоединяющимся узлом (получателем), который инициирует использование удаленной операции клонирования для передачи состояния присоединяющемуся узлу во время процесса распределенного восстановления. Если разрыв транзакций между присоединяющимся узлом и подходящим донором превышает порог, Group Replication начинает распределенное восстановление с помощью операции удаленного клонирования. Если разрыв транзакций меньше порога или если удаленная операция клонирования технически невозможна, Group Replication переходит непосредственно к передаче состояния с двоичного журнала донора.ПредупреждениеНе устанавливайте низкое значение для
group_replication_clone_thresholdв активной группе. Если в группе произойдет количество транзакций, превышающее порог, в то время, когда выполняется операция удаленного клонирования, присоединяющийся узел снова инициирует удаленную операцию клонирования после перезапуска и может продолжать это бесконечно. Чтобы избежать этой ситуации, убедитесь, что порог установлен выше, чем ожидаемое количество транзакций в группе за время, необходимое для удаленной операции клонирования.Чтобы использовать эту функцию, донор и присоединяющийся узел должны быть предварительно настроены для поддержки клонирования. Инструкции см. в Раздел 20.5.4.2, «Клонирование для распределенного восстановления». При выполнении удаленной операции клонирования Group Replication управляет ею за вас, включая необходимую перезагрузку сервера, при условии, что
group_replication_start_on_boot=ONустановлено. В противном случае необходимо перезагрузить сервер вручную. Удаленная операция клонирования заменяет существующий словарь данных на присоединяющемся узле, но Group Replication проверяет и не продолжает, если присоединяющийся узел имеет дополнительные транзакции, отсутствующие на других узлах группы, поскольку эти транзакции будут удалены операцией клонирования.Значение по умолчанию (которое является максимальным разрешенным порядковым номером транзакции в GTID) означает, что передача состояния с двоичного журнала донора практически всегда будет выполняться, а не клонирование. Однако обратите внимание, что Group Replication всегда пытается выполнить операцию клонирования, независимо от вашего порога, если передача состояния с двоичного журнала донора невозможна, например, потому что транзакции, необходимые присоединяющемуся узлу, недоступны в двоичных журналах любого существующего узла группы. Если вы вообще не хотите использовать клонирование в вашей группе репликации, не устанавливайте плагин клонирования на узлы.
-
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, и изменение вступит в силу немедленно.
group_replication_communication_debug_optionsнастраивает уровень сообщений отладки для различных компонентов Group Replication, таких как система групповой связи (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. Вам необходимо остановить Group Replication, изменить значение системной переменной, а затем перезапустить Group Replication на каждом из узлов группы. Во время этого процесса значение системной переменной может отличаться между узлами группы, но некоторые транзакции на узлах группы могут быть отменены.
group_replication_communication_max_message_sizeзадает максимальный размер сообщения для связи Group Replication. Сообщения, превышающие этот размер, автоматически разбиваются на фрагменты, которые отправляются по отдельности и собираются получателями. Дополнительные сведения см. в Раздел 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, и изменение вступает в силу немедленно. Текущее значение системной переменной считывается при возникновении проблемы, которая означает, что необходимо соответствующее поведение.
group_replication_exit_state_actionнастраивает поведение Group Replication, когда этот экземпляр сервера выходит из группы непреднамеренно, например, после ошибки приложения, или в случае потери большинства, или когда другой член группы изгоняет его из-за подозрения, истекающего по времени. Период ожидания для выхода члена из группы в случае потери большинства задается системной переменной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). Group Replication также устанавливает системную переменнуюsuper_read_onlyвON, поэтому клиенты не могут вносить какие-либо обновления, даже если они подключились с привилегиейCONNECTION_ADMINилиSUPER.Когда
group_replication_exit_state_actionустановлено вABORT_SERVER, если член выходит из группы непреднамеренно или исчерпывает свои попытки автоматического повторного подключения, экземпляр завершает работу MySQL.ВажноЕсли ошибка возникает до того, как член успешно присоединился к группе, указанное действие выхода не выполняется. Это имеет место, если возникает ошибка во время локальной проверки конфигурации или несоответствие между конфигурацией присоединяющегося члена и конфигурацией группы. В этих ситуациях системная переменная
super_read_onlyсохраняет свое исходное значение, подключения продолжают приниматься, и сервер не завершает работу MySQL. Чтобы гарантировать, что сервер не может принимать обновления, когда Group Replication не запущен, мы рекомендуем установитьsuper_read_only=ONв конфигурационном файле сервера при запуске, который Group Replication изменяет наOFFна основных членах после успешного запуска. Эта защита особенно важна, когда сервер настроен на запуск Group Replication при загрузке сервера (group_replication_start_on_boot=ON), но она также полезна, когда Group Replication запускается вручную с помощью команды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, и изменение вступает в силу немедленно.
group_replication_flow_control_applier_thresholdуказывает количество ожидающих транзакций в очереди приложения, которые запускают управление потоком. -
group_replication_flow_control_certifier_thresholdФормат командной строки --group-replication-flow-control-certifier-threshold=#Системная переменная group_replication_flow_control_certifier_thresholdОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 25000Минимальное значение 0Максимальное значение 2147483647Единица измерения транзакции Значение этой системной переменной может быть изменено во время работы Group Replication, и изменение вступает в силу немедленно.
group_replication_flow_control_certifier_thresholdуказывает количество ожидающих транзакций в очереди удостоверяющего центра, которые запускают управление потоком. -
group_replication_flow_control_hold_percentФормат командной строки --group-replication-flow-control-hold-percent=#Системная переменная group_replication_flow_control_hold_percentОбласть видимости Глобальная Динамическая Да SET_VARПодсказка применимаНет Тип Целое число Значение по умолчанию 10Минимальное значение 0Максимальное значение 100Единица измерения проценты Значение этой системной переменной может быть изменено во время работы Group Replication, и изменение вступает в силу немедленно.
group_replication_flow_control_hold_percentопределяет, какой процент групповой квоты остается неиспользованным, чтобы позволить кластеру, находящемуся под управлением потока, наверстать упущенное. Значение 0 означает, что никакая часть квоты не резервируется для обработки накопившейся работы.
-
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 «Установка версии протокола коммуникации группы».Эта системная переменная является настройкой конфигурации для всей группы. Она должна иметь одинаковое значение на всех участниках группы, не может быть изменена во время работы Group Replication и требует полной перезагрузки группы (запуска bootstrap сервером с
group_replication_bootstrap_group=ON), чтобы изменения вступили в силу. Инструкции по безопасному запуску bootstrap группы, где были выполнены и подтверждены транзакции, см. в разделе 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, но изменение вступает в силу только после остановки и перезапуска Group Replication на члене группы.
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 для определения зависимостей и конфликтов транзакций.
Агрессивная очистка наборов записей, которая выполняется при включенном
group_replication_preemptive_garbage_collection, имеет следующие эффекты:Сокращение памяти, используемой для хранения наборов записей в памяти
Снижение влияния отстающих вторичных серверов на отслеживание наборов записей на первичном сервере
Снижение времени удержания блокировки базы данных набора записей за раунд удаления набора записей, а следовательно, и снижение его влияния на пропускную способность
Значение
group_replication_preemptive_garbage_collectionможет быть изменено только при отсутствии работы Group Replication, и не влияет на группу, работающую в режиме множественных первичных серверов. Кроме того, при включении этой системной переменной невозможно переключаться между режимом множественных первичных серверов и режимом единого первичного сервера (см. раздел 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.3 доступна в MySQL 9.2 при условии, что MySQL был скомпилирован с использованием OpenSSL 1.1.1. Сервер проверяет версию OpenSSL при запуске, и если она ниже 1.1.1, TLSv1.3 удаляется из значения по умолчанию для системной переменной. В этом случае значение по умолчанию —
TLSv1.2.Group Replication поддерживает TLSv1.3 с поддержкой выбора cipher suite. См. Раздел 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указывает, должны ли соединения распределенного восстановления Group Replication между членами группы использовать SSL или нет. См. Раздел 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.