17.2.1.3 Учетные данные пользователя
Группа репликации использует асинхронный протокол репликации для достижения Раздела 17.9.5, «Восстановление по распределённой схеме», синхронизируя членов группы перед их присоединением к ней. Процесс восстановления по распределённой схеме опирается на канал репликации, именуемый group_replication_recovery, который используется для передачи транзакций от донорских членов к членам, присоединяющимся к группе. Поэтому необходимо настроить пользователя репликации с соответствующими разрешениями, чтобы Группа репликации могла установить прямые каналы репликации восстановления между членами.
Запустите экземпляр сервера MySQL, а затем подключите к нему клиента. Создайте пользователя MySQL с привилегией REPLICATION
SLAVE. Этот процесс можно зафиксировать в бинарном журнале, а затем положиться на восстановление по распределённой схеме для репликации запросов, используемых для создания пользователя. В качестве альтернативы, можно отключить ведение бинарного журнала, используя SET
SQL_LOG_BIN=0;, и затем вручную создать пользователя на каждом члене, например, если вы хотите избежать распространения изменений на другие экземпляры сервера. Если вы решите отключить ведение бинарного журнала, убедитесь, что вы снова включите его после настройки пользователя.
В следующем примере показан пользователь rpl_user с паролем password. При настройке серверов используйте подходящее имя пользователя и пароль.
mysql> CREATE USER rpl_user@'%' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
mysql> FLUSH PRIVILEGES;
Если ведение бинарного журнала было отключено, включите его снова после создания пользователя, используя SET SQL_LOG_BIN=1;.
После настройки пользователя используйте оператор CHANGE MASTER TO, чтобы настроить сервер на использование предоставленных учетных данных для канала репликации group_replication_recovery в следующий раз, когда ему потребуется восстановить своё состояние от другого члена. Выполните следующую команду, заменив rpl_user и password значениями, используемыми при создании пользователя.
mysql> CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='password' \\
FOR CHANNEL 'group_replication_recovery';
Восстановление по распределённой схеме является первым шагом, выполняемым сервером, который присоединяется к группе и не имеет того же набора транзакций, что и члены группы. Если эти учетные данные не настроены правильно для канала репликации group_replication_recovery и rpl_user, как показано, сервер не сможет подключиться к донорским членам и выполнить процесс восстановления по распределённой схеме для достижения синхронизации с другими членами группы, а следовательно, не сможет присоединиться к группе. См. Раздел 17.9.5, «Восстановление по распределённой схеме».
Аналогично, если сервер не может правильно идентифицировать других членов через hostname сервера, процесс восстановления может завершиться неудачно. Рекомендуется, чтобы операционные системы, на которых работает MySQL, имели должным образом настроенный уникальный hostname, либо с помощью DNS, либо с помощью локальных настроек. Этот hostname можно проверить в столбце Member_host таблицы performance_schema.replication_group_members. Если несколько членов группы экстернализируют значения по умолчанию hostname, установленные операционной системой, есть вероятность, что член не сможет разрешить корректный адрес члена и не сможет присоединиться к группе. В такой ситуации используйте report_host для настройки уникального hostname для экстернализации каждым из серверов.
© 2025 Oracle
Licensed under the GPLv2 License.