Spec-Zone.ru › MySQL 9.2

19.3.3.2 Проверка привилегий для каналов групповой репликации

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

Чтобы защитить один из этих потоков, остановите групповую репликацию, а затем выполните операцию CHANGE REPLICATION SOURCE TO с опцией PRIVILEGE_CHECKS_USER, указав group_replication_applier или group_replication_recovery в качестве имени канала. Например:

mysql> STOP GROUP_REPLICATION;
mysql> CHANGE REPLICATION SOURCE TO PRIVILEGE_CHECKS_USER = 'gr_repl'@'%.example.com'
          FOR CHANNEL 'group_replication_recovery';
mysql> FLUSH PRIVILEGES;
mysql> START GROUP_REPLICATION;

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

Групповая репликация требует, чтобы каждая таблица, подлежащая репликации группой, имела определённый первичный ключ или эквивалент первичного ключа, где эквивалент представляет собой уникальный ключ без значений NULL. Вместо использования проверок, выполняемых системной переменной sql_require_primary_key, групповая репликация имеет собственный встроенный набор проверок для первичных ключей или их эквивалентов. Вы можете установить опцию REQUIRE_TABLE_PRIMARY_KEY_CHECK оператора CHANGE REPLICATION SOURCE TO в значение ON для канала групповой репликации. Однако имейте в виду, что некоторые транзакции, разрешённые встроенными проверками групповой репликации, могут быть не разрешены проверками, выполняемыми при установке sql_require_primary_key = ON или REQUIRE_TABLE_PRIMARY_KEY_CHECK = ON. По этой причине новые и обновлённые каналы групповой репликации имеют REQUIRE_TABLE_PRIMARY_KEY_CHECK установленным по умолчанию в STREAM, а не ON.

Если для распределённого восстановления в групповой репликации используется операция удалённого клонирования (см. Раздел 20.5.4.2, «Клонирование для распределенного восстановления»), учетная запись PRIVILEGE_CHECKS_USER и связанные настройки из донора клонируются к присоединяющемуся члену. Если присоединяющемуся члену задано начать групповую репликацию при загрузке, он автоматически использует учетную запись для проверки привилегий на соответствующих каналах репликации.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/replication-privilege-checks-gr.html

Spec-Zone.ru

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