Spec-Zone.ru › MySQL 5.7

17.7.1 Переменные системы Group Replication

В этом разделе перечислены системные переменные, специфичные для плагина Group Replication.

Имя каждой системной переменной Group Replication начинается с group_replication_.

Большинство системных переменных Group Replication описаны как динамические, и их значения могут быть изменены во время работы сервера. Однако в большинстве случаев изменения вступают в силу только после остановки и перезапуска Group Replication на узле группы с помощью оператора STOP GROUP_REPLICATION, за которым следует оператор START GROUP_REPLICATION. Изменения в следующих системных переменных вступают в силу без остановки и перезапуска Group Replication:

  • group_replication_exit_state_action

  • group_replication_flow_control_applier_threshold

  • group_replication_flow_control_certifier_threshold

  • group_replication_flow_control_hold_percent

  • group_replication_flow_control_max_quota

  • group_replication_flow_control_member_quota_percent

  • group_replication_flow_control_min_quota

  • group_replication_flow_control_min_recovery_quota

  • group_replication_flow_control_mode

  • group_replication_force_members

  • group_replication_member_weight

  • group_replication_transaction_size_limit

  • group_replication_unreachable_majority_timeout

Большинство системных переменных Group Replication могут иметь разные значения на разных участниках группы. Для следующих системных переменных рекомендуется устанавливать одинаковые значения на всех участниках группы, чтобы избежать ненужной отмены транзакций, сбоев доставки сообщений или сбоев восстановления сообщений:

  • group_replication_auto_increment_increment

  • group_replication_compression_threshold

  • group_replication_transaction_size_limit

Некоторые системные переменные на узле группы Group Replication, включая некоторые специфичные для Group Replication переменные и некоторые общие переменные, являются настройками конфигурации для всей группы. Эти системные переменные должны иметь одинаковое значение на всех участниках группы, не могут быть изменены во время работы Group Replication и требуют полного перезапуска группы (bootstrap сервером с group_replication_bootstrap_group=ON) для того, чтобы изменение значения вступило в силу. Эти условия применяются к следующим системным переменным:

  • group_replication_single_primary_mode

  • group_replication_enforce_update_everywhere_checks

  • group_replication_gtid_assignment_block_size

  • lower_case_table_names

  • transaction_write_set_extraction

Важно
  • Ряд системных переменных для Group Replication не полностью проверяются во время запуска сервера, если они передаются в качестве аргументов командной строки. К этим системным переменным относятся group_replication_group_name, group_replication_single_primary_mode, group_replication_force_members, переменные SSL и переменные управления потоком. Они проверяются полностью только после запуска сервера.

  • Системные переменные Group Replication, указывающие IP-адреса или имена хостов для участников группы, не проверяются до тех пор, пока не будет выдан оператор START GROUP_REPLICATION. Системная группа связи Group Replication (GCS) недоступна для проверки значений до этого момента.

Системные переменные, специфичные для плагина Group Replication, следующие:

  • group_replication_allow_local_disjoint_gtids_join

    Формат командной строки --group-replication-allow-local-disjoint-gtids-join[={OFF|ON}]
    Введено 5.7.17
    Устарело 5.7.21
    Системная переменная group_replication_allow_local_disjoint_gtids_join
    Область видимости Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Устарело в версии 5.7.21 и планируется к удалению в будущей версии. Позволяет серверу присоединиться к группе, даже если у него есть локальные транзакции, отсутствующие в группе.

    Предупреждение

    Будьте осторожны при включении этой опции, так как неправильное использование может привести к конфликтам в группе и откату транзакций. Эта опция должна включаться только в крайнем случае, чтобы разрешить серверу с локальными транзакциями присоединиться к существующей группе, и только если локальные транзакции не затрагивают данные, обрабатываемые группой (например, административное действие, записанное в бинарный журнал). Эта опция не должна оставаться включенной на всех участниках группы.

  • group_replication_allow_local_lower_version_join

    Формат командной строки --group-replication-allow-local-lower-version-join[={OFF|ON}]
    Введено 5.7.17
    Системная переменная group_replication_allow_local_lower_version_join
    Область видимости Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Позволяет текущему серверу присоединиться к группе, даже если у него более низкая основная версия, чем у группы. С настройкой по умолчанию OFF серверам не разрешается присоединяться к группе репликации, если у них более низкая основная версия, чем у существующих участников группы. Например, сервер MySQL 5.7 не может присоединиться к группе, состоящей из серверов MySQL 8.0. Эта стандартная политика гарантирует, что все участники группы могут обмениваться сообщениями и применять транзакции. Установите group_replication_allow_local_lower_version_join в ON только в следующих сценариях:

    • Сервер должен быть добавлен в группу в экстренном порядке для повышения отказоустойчивости группы, и доступны только более старые версии.

    • Вы хотите выполнить понижение версии участников группы репликации без отключения всей группы и повторной загрузки.

    Предупреждение

    Установка этой опции в ON не делает нового участника совместимым с группой и позволяет ему присоединиться к группе без каких-либо мер предосторожности против несовместимого поведения существующих участников. Для обеспечения правильной работы нового участника примите обе следующие меры предосторожности:

    1. Прежде чем сервер с более низкой основной версией присоединится к группе, остановите все записи на этом сервере.

    2. С момента, когда сервер с более низкой основной версией присоединяется к группе, остановите все записи на других серверах в группе.

    Без этих мер предосторожности сервер с более низкой основной версией, вероятно, столкнется с трудностями и завершит работу с ошибкой.

  • group_replication_auto_increment_increment

    Формат командной строки --group-replication-auto-increment-increment=#
    Введено 5.7.17
    Системная переменная group_replication_auto_increment_increment
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 7
    Минимальное значение 1
    Максимальное значение 65535

    Определяет интервал между последовательными значениями столбцов для транзакций, выполняемых на этом экземпляре сервера. Эта системная переменная должна иметь одно и то же значение на всех участниках группы. Когда Group Replication запускается на сервере, значение системной переменной сервера auto_increment_increment изменяется на это значение, а значение системной переменной сервера auto_increment_offset изменяется на идентификатор сервера. Эти настройки предотвращают выбор дубликатов значений автоинкремента для записей на участниках группы, что приводит к откату транзакций. Изменения отменяются при остановке Group Replication. Эти изменения выполняются и отменяются только в том случае, если auto_increment_increment и auto_increment_offset имеют значение по умолчанию 1. Если их значения уже были изменены по умолчанию, Group Replication не изменяет их.

    Значение по умолчанию 7 представляет собой баланс между количеством используемых значений и допустимым максимальным размером группы репликации (9 участников). Если ваша группа имеет больше или меньше участников, вы можете установить эту системную переменную в соответствии с ожидаемым количеством участников группы до запуска Group Replication. Вы не можете изменить настройку во время работы Group Replication.

    Важно

    Установка group_replication_auto_increment_increment не оказывает влияния, когда group_replication_single_primary_mode имеет значение ON.

  • group_replication_bootstrap_group

    Формат командной строки --group-replication-bootstrap-group[={OFF|ON}]
    Введено 5.7.17
    Системная переменная group_replication_bootstrap_group
    Область видимости Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Настройте этот сервер для загрузки группы. Эта опция должна быть установлена только на одном сервере и только при первом запуске группы или перезапуске всей группы. После загрузки группы установите эту опцию в OFF. Она должна быть установлена в OFF как динамически, так и в конфигурационных файлах. Запуск двух серверов или перезапуск одного сервера с этой опцией, установленной во время работы группы, может привести к искусственной ситуации разделенного мозга, когда загружаются две независимые группы с одинаковым именем.

  • group_replication_components_stop_timeout

    Формат командной строки --group-replication-components-stop-timeout=#
    Введено 5.7.17
    Системная переменная group_replication_components_stop_timeout
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 31536000
    Минимальное значение 2
    Максимальное значение 31536000
    Единица измерения секунды

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

  • group_replication_compression_threshold

    Формат командной строки --group-replication-compression-threshold=#
    Введено 5.7.17
    Переменная системы group_replication_compression_threshold
    Область Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 1000000
    Минимальное значение 0
    Максимальное значение 4294967295
    Единица измерения байты

    Значение порога в байтах, выше которого происходит сжатие сообщений, отправляемых между членами группы. Если эта переменная системы установлена в ноль, сжатие отключено. Значение group_replication_compression_threshold должно быть одинаковым на всех участниках группы.

    Группа репликации использует алгоритм сжатия LZ4 для сжатия сообщений, отправляемых в группе. Обратите внимание, что максимальный поддерживаемый размер входных данных для алгоритма сжатия LZ4 составляет 2113929216 байт. Это ограничение меньше максимального возможного значения для переменной системы group_replication_compression_threshold, которое соответствует максимальному размеру сообщения, принимаемому XCom. При использовании алгоритма сжатия LZ4 не устанавливайте значение, превышающее 2113929216 байт для group_replication_compression_threshold, поскольку транзакции, превышающие этот размер, не могут быть подтверждены при включенном сжатии сообщений.

    Дополнительную информацию см. в Разделе 17.9.7.2, «Сжатие сообщений».

  • group_replication_enforce_update_everywhere_checks

    Формат командной строки --group-replication-enforce-update-everywhere-checks[={OFF|ON}]
    Введено 5.7.17
    Переменная системы group_replication_enforce_update_everywhere_checks
    Область Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Включить или отключить строгие проверки согласованности для обновлений во всех узлах в режиме с несколькими первичными узлами. По умолчанию проверки отключены. В режиме с одним первичным узлом этот параметр должен быть отключен на всех участниках группы. В режиме с несколькими первичными узлами при включенном этом параметре операторы проверяются следующим образом, чтобы убедиться в их совместимости с режимом с несколькими первичными узлами:

    • Если транзакция выполняется на уровне изоляции SERIALIZABLE, ее подтверждение завершается неудачно при синхронизации с группой.

    • Если транзакция выполняется над таблицей, имеющей внешние ключи с каскадными ограничениями, то транзакция завершается неудачно при подтверждении при синхронизации с группой.

    Эта переменная системы является настройкой конфигурации для всей группы. Она должна иметь одинаковое значение на всех участниках группы, не может быть изменена во время работы группы репликации и требует полного перезапуска группы (восстановления узла сервером с group_replication_bootstrap_group=ON) для вступления изменений в силу.

  • group_replication_exit_state_action

    Формат командной строки --group-replication-exit-state-action=value
    Введено 5.7.24
    Переменная системы group_replication_exit_state_action
    Область Глобальная
    Динамическая Да
    Тип Перечисление
    Значение по умолчанию READ_ONLY
    Допустимые значения

    ABORT_SERVER

    READ_ONLY

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

    Если group_replication_exit_state_action установлено в ABORT_SERVER, при непреднамеренном выходе члена из группы экземпляр сервера завершает работу MySQL.

    Если group_replication_exit_state_action установлено в READ_ONLY, при непреднамеренном выходе члена из группы экземпляр сервера переключает MySQL в режим супер-только для чтения (установив переменную системы super_read_only в ON). Данное значение является значением по умолчанию в MySQL 5.7.

    Важно

    Если ошибка произошла до успешного присоединения члена к группе, указанное действие выхода не выполняется. Это происходит в случае ошибки во время проверки локальной конфигурации или несоответствия между конфигурацией присоединяющегося члена и конфигурацией группы. В этих ситуациях переменная системы super_read_only сохраняет свое исходное значение, и сервер не завершает работу MySQL. Для обеспечения того, чтобы сервер не мог принимать обновления, когда группа репликации не была запущена, рекомендуется установить super_read_only=ON в файле конфигурации сервера при запуске, которое группа репликации изменяет на OFF на первичных узлах после успешного запуска. Эта мера предосторожности особенно важна, когда сервер настроен на запуск группы репликации при загрузке сервера (group_replication_start_on_boot=ON), но она также полезна, когда группа репликации запускается вручную с помощью команды START GROUP_REPLICATION.

    Если ошибка произошла после успешного присоединения члена к группе, указанное действие выхода выполняется. Это происходит в случае ошибки применителя, если член исключается из группы или если член устанавливается на тайм-аут в случае недоступного большинства. В этих ситуациях, если READ_ONLY является действием выхода, super_read_only устанавливается в ON, или если ABORT_SERVER является действием выхода, сервер завершает работу MySQL.

    Таблица 17.5 Действия выхода в ситуациях сбоев в группе репликации

    Таблица 17.5 Действия выхода в ситуациях сбоев в группе репликации

    Ситуация сбоя

    Группа репликации запущена с START GROUP_REPLICATION

    Группа репликации запущена с group_replication_start_on_boot =ON

    Проверка локальной конфигурации члена завершилась ошибкой

    ИЛИ

    Несоответствие между конфигурацией присоединяющегося члена и конфигурацией группы

    super_read_only без изменений

    MySQL продолжает работу

    Установите super_read_only=ON при запуске для предотвращения обновлений

    super_read_only без изменений

    MySQL продолжает работу

    Установите super_read_only=ON при запуске для предотвращения обновлений (Важно)

    Ошибка применителя на узле

    ИЛИ

    Узел исключён из группы

    ИЛИ

    Истечение времени ожидания недоступного большинства

    super_read_only установлено в ON

    ИЛИ

    MySQL завершает работу

    super_read_only установлено в ON

    ИЛИ

    MySQL завершает работу


  • group_replication_flow_control_applier_threshold

    Формат командной строки --group-replication-flow-control-applier-threshold=#
    Введено 5.7.17
    Переменная системы group_replication_flow_control_applier_threshold
    Область Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 25000
    Минимальное значение 0
    Максимальное значение 2147483647
    Единица измерения транзакции

    Указывает количество ожидающих транзакций в очереди применителя, которые вызывают управление потоком. Данную переменную можно изменять без сброса группы репликации.

  • group_replication_flow_control_certifier_threshold

    Формат командной строки --group-replication-flow-control-certifier-threshold=#
    Введено 5.7.17
    Системная переменная group_replication_flow_control_certifier_threshold
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 25000
    Минимальное значение 0
    Максимальное значение 2147483647
    Единица измерения транзакции

    Задает количество ожидающих транзакций в очереди подтверждения, которые запускают управление потоком. Эту переменную можно изменить без перезапуска Group Replication.

  • group_replication_flow_control_hold_percent

    Формат командной строки --group-replication-flow-control-hold-percent=#
    Системная переменная group_replication_flow_control_hold_percent
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 10
    Минимальное значение 0
    Максимальное значение 100
    Единица измерения проценты

    Определяет, какой процент групповой квоты остается неиспользованным, чтобы позволить кластеру, находящемуся под управлением потока, наверстать упущенное. Значение 0 означает, что никакая часть квоты не резервируется для обработки накопившейся работы.

  • group_replication_flow_control_max_quota

    Формат командной строки --group-replication-flow-control-max-quota=#
    Системная переменная group_replication_flow_control_max_quota
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 2147483647

    Определяет максимальную квоту управления потоком группы или максимальную доступную квоту для любого периода, пока включено управление потоком. Значение 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
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 100
    Единица измерения проценты

    Определяет процент квоты, который член должен предположить доступным для себя при вычислении квот. Значение 0 означает, что квота должна быть разделена поровну между членами, которые были писателями в последний период.

  • group_replication_flow_control_min_quota

    Формат командной строки --group-replication-flow-control-min-quota=#
    Системная переменная group_replication_flow_control_min_quota
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 2147483647

    Управляет самой низкой квотой управления потоком, которая может быть назначена члену, независимо от вычисленной минимальной квоты, выполненной в последний период. Значение 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
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 2147483647

    Управляет самой низкой квотой, которая может быть назначена члену из-за другого восстанавливающегося члена в группе, независимо от вычисленной минимальной квоты, выполненной в последний период. Значение 0 означает, что минимальной квоты нет. Не может быть больше, чем group_replication_flow_control_max_quota.

  • group_replication_flow_control_mode

    Формат командной строки --group-replication-flow-control-mode=value
    Введено 5.7.17
    Системная переменная group_replication_flow_control_mode
    Область видимости Глобальная
    Динамическая Да
    Тип Перечисление
    Значение по умолчанию QUOTA
    Допустимые значения

    DISABLED

    QUOTA

    Задает режим, используемый для управления потоком. Эту переменную можно изменить без перезапуска Group Replication.

  • group_replication_force_members

    Формат командной строки --group-replication-force-members=value
    Введено 5.7.17
    Системная переменная group_replication_force_members
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Список адресов узлов в виде списка, разделенного запятыми, например host1:port1,host2:port2. Этот параметр используется для принудительного создания нового членства в группе, при котором исключенные члены не получают новый вид и блокируются. (Необходимо вручную завершить работу исключенных серверов.) Любые недопустимые имена узлов в списке могут привести к сбою этого действия, поскольку они могут блокировать членство в группе. Описание процедуры см. в Разделе 17.5.3, «Разделение сети».

    Необходимо указать адрес или имя узла и порт, как они указаны в параметре group_replication_local_address для каждого члена. Например:

    "198.51.100.44:33061,example.org:33061"

    После того, как вы использовали системную переменную group_replication_force_members для успешного принудительного создания нового членства в группе и разблокировки группы, убедитесь, что вы очистили системную переменную. group_replication_force_members должно быть пустым, чтобы выполнить оператор START GROUP_REPLICATION.

  • group_replication_group_name

    Формат командной строки --group-replication-group-name=value
    Введено 5.7.17
    Системная переменная group_replication_group_name
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Имя группы, к которой принадлежит этот экземпляр сервера. Должен быть допустимым UUID. Этот UUID используется внутренне при установке GTID для событий Group Replication в двоичном журнале.

    Важно

    Необходимо использовать уникальный UUID.

  • group_replication_group_seeds

    Формат командной строки --group-replication-group-seeds=value
    Введено 5.7.17
    Переменная системы group_replication_group_seeds
    Область действия Глобальная
    Динамическая Да
    Тип Строка

    Список узлов группы, к которым присоединяющийся узел может подключиться, чтобы получить информацию обо всех текущих участниках группы. Присоединяющийся узел использует эту информацию, чтобы выбрать и подключиться к участнику группы для получения данных, необходимых для синхронизации с группой. Список содержит сетевые адреса узла-семени, указанные через запятую, например, host1:port1,host2:port2.

    Важно

    Эти адреса не должны совпадать с именем хоста и портом SQL узла-члена.

    Обратите внимание, что значение, указанное для этой переменной, не проверяется до тех пор, пока не будет выполнено оператор START GROUP_REPLICATION и доступна система групповой коммуникации (GCS).

    Обычно этот список содержит всех участников группы, но вы можете выбрать подмножество участников группы для роли семян. Список должен содержать хотя бы один действительный адрес узла. Каждый адрес проверяется при запуске Group Replication. Если список не содержит действительных имён хостов, выполнение оператора START GROUP_REPLICATION завершается неудачно.

  • group_replication_gtid_assignment_block_size

    Формат командной строки --group-replication-gtid-assignment-block-size=#
    Введено 5.7.17
    Переменная системы group_replication_gtid_assignment_block_size
    Область действия Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 1000000
    Минимальное значение 1
    Максимальное значение (64-битные платформы) 9223372036854775807
    Максимальное значение (32-битные платформы) 4294967295

    Количество последовательных GTID, резервируемых для каждого участника. Каждый участник использует свои блоки и резервирует больше при необходимости.

    Эта переменная системы является настройкой конфигурации для всей группы. Она должна иметь одинаковое значение на всех участниках группы, не может быть изменена во время работы Group Replication и требует полной перезагрузки группы (bootstrap сервером с group_replication_bootstrap_group=ON) для вступления изменений в силу.

  • group_replication_ip_whitelist

    Формат командной строки --group-replication-ip-whitelist=value
    Введено 5.7.17
    Переменная системы group_replication_ip_whitelist
    Область действия Глобальная
    Динамическая Да
    Тип Строка
    Значение по умолчанию AUTOMATIC

    Указывает список разрешённых хостов, которые могут подключаться к группе. Адрес, который вы указываете для каждого участника группы в group_replication_local_address, должен быть включён в список разрешённых хостов на других серверах в группе репликации. Обратите внимание, что значение, которое вы указываете для этой переменной, не проверяется до тех пор, пока не будет выполнено оператор START GROUP_REPLICATION и доступна система групповой коммуникации (GCS).

    По умолчанию эта переменная системы установлена в AUTOMATIC, что разрешает подключения из частных подсетей, активных на хосте. Двигатель групповой коммуникации (XCom) автоматически сканирует активные интерфейсы на хосте и определяет те, у которых адреса находятся в частных подсетях. Эти адреса и адрес localhost IP для IPv4 используются для создания списка разрешённых адресов для Group Replication. Список диапазонов адресов, которые автоматически включаются в список разрешённых, см. в Разделе 17.6.1, «Разрешение IP-адресов для Group Replication».

    Автоматическое включение в список разрешённых частных адресов не может использоваться для подключений с серверов, находящихся за пределами частной сети. Для подключения Group Replication между экземплярами серверов на разных машинах необходимо предоставить публичные IP-адреса и указать их в явном списке разрешённых адресов. Если вы указываете какие-либо записи для списка разрешённых, частные адреса не добавляются автоматически, поэтому, если вы используете их, вы должны указать их явно. Адрес localhost IP добавляется автоматически.

    В качестве значения параметра group_replication_ip_whitelist можно указать любую комбинацию следующего:

    • IPv4-адреса (например, 198.51.100.44)

    • IPv4-адреса с CIDR-нотацией (например, 192.0.2.21/24)

    • Имена хостов, начиная с MySQL 5.7.21 (например, example.org)

    • Имена хостов с CIDR-нотацией, начиная с MySQL 5.7.21 (например, www.example.com/24)

    IPv6-адреса и имена хостов, разрешаемые в IPv6-адреса, не поддерживаются в MySQL 5.7. Вы можете использовать CIDR-нотацию в сочетании с именами хостов или IP-адресами, чтобы включить в список разрешённых блок IP-адресов с определённым префиксом сети, но убедитесь, что все IP-адреса в указанной подсети находятся под вашим контролем.

    Каждая запись в списке разрешённых должна быть разделена запятой. Например:

    192.0.2.22,198.51.100.0/24,example.org,www.example.com/24

    Вы можете настроить разные списки разрешённых адресов на разных участниках группы в соответствии с вашими требованиями безопасности, например, чтобы изолировать разные подсети. Однако это может привести к проблемам при переконфигурации группы. Если у вас нет особых требований к безопасности, используйте один и тот же список разрешённых адресов на всех участниках группы. Более подробная информация см. в Разделе 17.6.1, «Разрешение IP-адресов для Group Replication».

    Для имён хостов разрешение имён происходит только при запросе соединения другим сервером. Имя хоста, которое не может быть разрешено, не учитывается при проверке включения в список разрешённых, и сообщение об ошибке записывается в журнал ошибок. Проверка обратного DNS с подтверждением вперёд (FCrDNS) выполняется для разрешённых имён хостов.

    Предупреждение

    Имена хостов по своей природе менее безопасны, чем IP-адреса в списке разрешённых. Проверка FCrDNS обеспечивает хороший уровень защиты, но может быть уязвима к определённым типам атак. Указывайте имена хостов в списке разрешённых только в строго необходимых случаях и убедитесь, что все компоненты, используемые для разрешения имён, такие как DNS-серверы, находятся под вашим контролем. Вы также можете реализовать разрешение имён локально с помощью файла hosts, чтобы избежать использования внешних компонентов.

  • group_replication_local_address

    Формат командной строки --group-replication-local-address=value
    Введено 5.7.17
    Переменная системы group_replication_local_address
    Область действия Глобальная
    Динамическая Да
    Тип Строка

    Сетевой адрес, предоставляемый узлом для подключения со стороны других узлов, указанный в формате host:port. Этот адрес должен быть доступен всем участникам группы, так как он используется двигателем групповой коммуникации для Group Replication (XCom, вариант Paxos) для TCP-обмена данными между удалёнными экземплярами XCom. Обмен данными с локальным экземпляром происходит через входной канал, использующий общую память.

    Предупреждение

    Не используйте этот адрес для связи с узлом.

    Другие участники Group Replication обращаются к этому участнику через этот host:port для всей внутренней групповой коммуникации. Это не имя хоста и порт SQL-протокола MySQL сервера.

    Адрес или имя хоста, который вы указываете в group_replication_local_address, используется Group Replication в качестве уникального идентификатора участника группы в группе репликации. Вы можете использовать один и тот же порт для всех участников группы репликации, если имена хостов или IP-адреса все разные, и вы можете использовать одно и то же имя хоста или IP-адрес для всех участников, если все порты разные. Рекомендуемый порт для group_replication_local_address — 33061. Обратите внимание, что значение, которое вы указываете для этой переменной, не проверяется до тех пор, пока не будет выполнено оператор START GROUP_REPLICATION и доступна система групповой коммуникации (GCS).

  • group_replication_member_weight

    Формат командной строки --group-replication-member-weight=#
    Введена 5.7.20
    Системная переменная group_replication_member_weight
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 50
    Минимальное значение 0
    Максимальное значение 100
    Единица измерения процент

    Процентный вес, который может быть назначен участникам, чтобы повлиять на вероятность выбора участника в качестве основного в случае отказа, например, когда существующий основной участник покидает группу с одним основным участником. Назначьте числовые веса участникам, чтобы гарантировать выбор определенных участников, например, во время запланированного технического обслуживания основного участника или для обеспечения приоритета определенного оборудования в случае отказа.

    Для группы с участниками, настроенными следующим образом:

    • member-1: group_replication_member_weight=30, server_uuid=aaaa

    • member-2: group_replication_member_weight=40, server_uuid=bbbb

    • member-3: group_replication_member_weight=40, server_uuid=cccc

    • member-4: group_replication_member_weight=40, server_uuid=dddd

    во время выборов нового основного участника участники выше будут отсортированы как member-2, member-3, member-4 и member-1. Это приводит к тому, что member-2 выбирается в качестве нового основного участника в случае отказа. Для получения дополнительной информации см. Раздел 17.5.1.1, «Режим с одним основным участником».

  • group_replication_poll_spin_loops

    Формат командной строки --group-replication-poll-spin-loops=#
    Введена 5.7.17
    Системная переменная group_replication_poll_spin_loops
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение (64-разрядные платформы) 18446744073709551615
    Максимальное значение (32-разрядные платформы) 4294967295

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

  • group_replication_recovery_complete_at

    Формат командной строки --group-replication-recovery-complete-at=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_complete_at
    Область видимости Глобальная
    Динамическая Да
    Тип Перечисление
    Значение по умолчанию TRANSACTIONS_APPLIED
    Допустимые значения

    TRANSACTIONS_CERTIFIED

    TRANSACTIONS_APPLIED

    Политики восстановления при обработке кэшированных транзакций после передачи состояния. Этот параметр указывает, помечается ли участник как онлайн после того, как он получил все транзакции, которые он пропустил до того, как присоединился к группе (TRANSACTIONS_CERTIFIED), или после того, как он получил и применил их (TRANSACTIONS_APPLIED).

  • group_replication_recovery_retry_count

    Формат командной строки --group-replication-recovery-retry-count=#
    Введена 5.7.17
    Системная переменная group_replication_recovery_retry_count
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 10
    Минимальное значение 0
    Максимальное значение 31536000

    Количество попыток подключения к доступным донорам, которые предпринимает присоединяющийся участник, прежде чем сдаться.

  • group_replication_recovery_reconnect_interval

    Формат командной строки --group-replication-recovery-reconnect-interval=#
    Введена 5.7.17
    Системная переменная group_replication_recovery_reconnect_interval
    Область видимости Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 60
    Минимальное значение 0
    Максимальное значение 31536000
    Единица измерения секунды

    Время ожидания в секундах между попытками повторного подключения, когда в группе не был найден донор.

  • group_replication_recovery_ssl_ca

    Формат командной строки --group-replication-recovery-ssl-ca=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_ssl_ca
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Путь к файлу, содержащему список доверенных центров сертификации SSL.

  • group_replication_recovery_ssl_capath

    Формат командной строки --group-replication-recovery-ssl-capath=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_ssl_capath
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Путь к каталогу, содержащему сертификаты доверенных центров сертификации SSL.

  • group_replication_recovery_ssl_cert

    Формат командной строки --group-replication-recovery-ssl-cert=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_ssl_cert
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Имя файла сертификата SSL, используемого для установления защищенного соединения.

  • group_replication_recovery_ssl_key

    Формат командной строки --group-replication-recovery-ssl-key=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_ssl_key
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Имя файла ключа SSL, используемого для установления защищенного соединения.

  • group_replication_recovery_ssl_cipher

    Формат командной строки --group-replication-recovery-ssl-cipher=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_ssl_cipher
    Область видимости Глобальная
    Динамическая Да
    Тип Строка

    Список допустимых шифров для шифрования SSL.

  • group_replication_recovery_ssl_crl

    Формат командной строки --group-replication-recovery-ssl-crl=value
    Введена 5.7.17
    Системная переменная group_replication_recovery_ssl_crl
    Область видимости Глобальная
    Динамическая Да
    Тип Имя файла

    Путь к каталогу, содержащему файлы со списками отзыва сертификатов.

  • group_replication_recovery_ssl_crlpath

    Формат командной строки --group-replication-recovery-ssl-crlpath=value
    Введено 5.7.17
    Системная переменная group_replication_recovery_ssl_crlpath
    Область действия Глобальная
    Динамическая Да
    Тип Имя каталога

    Путь к каталогу, содержащему файлы со списками отзыва сертификатов.

  • group_replication_recovery_ssl_verify_server_cert

    Формат командной строки --group-replication-recovery-ssl-verify-server-cert[={OFF|ON}]
    Введено 5.7.17
    Системная переменная group_replication_recovery_ssl_verify_server_cert
    Область действия Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Производить ли проверку значения Common Name сервера в сертификате, отправленном донором, во время процесса восстановления.

  • group_replication_recovery_use_ssl

    Формат командной строки --group-replication-recovery-use-ssl[={OFF|ON}]
    Введено 5.7.17
    Системная переменная group_replication_recovery_use_ssl
    Область действия Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию OFF

    Используется ли SSL для подключения к восстановлению Group Replication.

  • group_replication_single_primary_mode

    Формат командной строки --group-replication-single-primary-mode[={OFF|ON}]
    Введено 5.7.17
    Системная переменная group_replication_single_primary_mode
    Область действия Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию ON
    Примечание

    Эта системная переменная является настройкой конфигурации для всей группы, и для вступления изменений в силу требуется полная перезагрузка группы репликации.

    group_replication_single_primary_mode указывает группе автоматически выбрать один сервер, который будет обрабатывать рабочую нагрузку чтения/записи. Этот сервер является первичным, а все остальные — вторичными.

    Эта системная переменная является настройкой конфигурации для всей группы. Она должна иметь одинаковое значение на всех участниках группы, не может быть изменена во время работы Group Replication и требует полной перезагрузки группы (bootstrap сервером с group_replication_bootstrap_group=ON) для вступления изменений в силу. Инструкции по безопасному выполнению bootstrap группы, где были выполнены и подтверждены транзакции, см. в Разделе 17.5.4, «Перезапуск группы».

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

    Установка этой переменной ON приводит к игнорированию любых настроек group_replication_auto_increment_increment.

  • group_replication_ssl_mode

    Формат командной строки --group-replication-ssl-mode=value
    Введено 5.7.17
    Системная переменная group_replication_ssl_mode
    Область действия Глобальная
    Динамическая Да
    Тип Перечисление
    Значение по умолчанию DISABLED
    Допустимые значения

    DISABLED

    REQUIRED

    VERIFY_CA

    VERIFY_IDENTITY

    Указывает состояние безопасности соединения между членами Group Replication.

  • group_replication_start_on_boot

    Формат командной строки --group-replication-start-on-boot[={OFF|ON}]
    Введено 5.7.17
    Системная переменная group_replication_start_on_boot
    Область действия Глобальная
    Динамическая Да
    Тип Булево
    Значение по умолчанию ON

    Нужно ли серверу запускать Group Replication при запуске сервера.

  • group_replication_transaction_size_limit

    Формат командной строки --group-replication-transaction-size-limit=#
    Введено 5.7.19
    Системная переменная group_replication_transaction_size_limit
    Область действия Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию (≥ 5.7.38) 150000000
    Значение по умолчанию (≥ 5.7.19, ≤ 5.7.37) 0
    Минимальное значение 0
    Максимальное значение 2147483647
    Единица измерения байты

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

    При установке этой системной переменной в 0 ограничений по размеру транзакций не существует. В выпусках до MySQL 5.7.37 значение по умолчанию для этой системной переменной было 0. С MySQL 5.7.38 и в MySQL 8.0 значение по умолчанию составляет 150000000 байт (приблизительно 143 МБ). Регулируйте значение этой системной переменной в зависимости от максимального размера сообщения, которое должна терпеть группа, помня о том, что время обработки транзакции пропорционально ее размеру. Значение group_replication_transaction_size_limit должно быть одинаковым на всех участниках группы. Более подробные стратегии минимизации влияния больших транзакций см. в Разделе 17.3.2, «Ограничения Group Replication».

  • group_replication_unreachable_majority_timeout

    Формат командной строки --group-replication-unreachable-majority-timeout=#
    Введено 5.7.19
    Системная переменная group_replication_unreachable_majority_timeout
    Область действия Глобальная
    Динамическая Да
    Тип Целое число
    Значение по умолчанию 0
    Минимальное значение 0
    Максимальное значение 31536000
    Единица измерения секунды

    Настраивает время ожидания узлов, которые находятся в результате сетевого разрыва и не могут подключиться к большинству, прежде чем покинуть группу.

    В группе из 5 серверов (S1,S2,S3,S4,S5), если происходит разрыв соединения между (S1,S2) и (S3,S4,S5), возникает сетевой разрыв. Первая группа (S1,S2) теперь находится в меньшинстве, потому что не может связаться более чем с половиной группы. В то время как группа большинства (S3,S4,S5) продолжает работать, группа меньшинства ожидает указанное время для повторного подключения к сети. Все транзакции, обработанные группой меньшинства, заблокированы до тех пор, пока Group Replication не будет остановлена с помощью STOP GROUP REPLICATION на узлах меньшинства. Обратите внимание, что group_replication_unreachable_majority_timeout не оказывает никакого влияния, если оно установлено на серверах в группе меньшинства после того, как было обнаружено отсутствие большинства.

    По умолчанию эта системная переменная установлена в 0, что означает, что узлы, которые оказываются в меньшинстве из-за сетевого разрыва, ждут вечно, чтобы покинуть группу. Если настроить на количество секунд, узлы ждут это количество времени после потери связи с большинством узлов, прежде чем покинуть группу. По истечении указанного времени все ожидающие транзакции, обработанные группой меньшинства, откатываются, и серверы в разрыве меньшинства переходят в состояние ERROR. Затем эти серверы следуют действию, указанному системной переменной group_replication_exit_state_action, которое может заключаться в переходе в режим супер-только для чтения или в завершение работы MySQL.

    Предупреждение

    При симметричной группе, например, с двумя членами (S0,S2), если произойдет сетевой разрыв и не будет большинства, по истечении заданного таймаута все члены перейдут в состояние ERROR.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/group-replication-system-variables.html

Spec-Zone.ru

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