Восстановление mysqldump на машине внутри группы репликации, как реплицировать восстановление на машинах, которые позже присоединяются к группе?

Возникли небольшие проблемы в настоящее время с групповой репликацией в MySQL 5.7. Я в основном настроил одну виртуальную машину внутри группы репликации. Я запускаю файл.sql, сгенерированный mysqldump на этом компьютере, и все базы данных / таблицы / данные копируются, как и ожидалось.

Затем я добавляю пару дополнительных машин в группу репликации (отношения мастер-мастер). Эти машины отображаются как ONLINE в таблице performance_schema.replication_group_members, но при удалении каждого из них я обнаруживаю, что ни одна из баз данных или таблиц не реплицирована на них. Если я добавлю новую таблицу на любой компьютер, она будет реплицироваться по всей группе, как и ожидалось, но никакая информация из mysqldump не появится на двух новых машинах.

Я чувствую, что, может быть, мне не хватает какой-то важной функции mysqldumps или групповой репликации, но я пытаюсь понять, где искать. У кого-нибудь есть предложения?


Используемая команда mysqldump (на машине, которая не была частью группы репликации):

mysqldump -u root -p --all-databases --add-drop-table --add-drop-database --routines --events --force > $homepath/dumps/$filename


Код, используемый для настройки групповой репликации

 mysql -u root -ppass <<EOF
 SET SQL_LOG_BIN=0;
 CREATE USER 'repl'@'%' IDENTIFIED BY 'pass';
 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
 FLUSH PRIVILEGES;
 SET SQL_LOG_BIN=1;
 CHANGE MASTER TO MASTER_USER='repl', MASTER_PASSWORD='pass' FOR CHANNEL 'group_replication_recovery';
 INSTALL PLUGIN group_replication SONAME 'group_replication.so';

 SET GLOBAL group_replication_bootstrap_group=ON; # On 1st VM only
 START GROUP_REPLICATION;
 SET GLOBAL group_replication_bootstrap_group=OFF; # On 1st VM only
 EOF

Обновление 09/03/18

Похоже, что mysqldump отключает бинарное ведение журнала по умолчанию. Это означает, что каждая команда в скрипте не отслеживается и поэтому не будет реплицироваться ни на один из новых vms, присоединяющихся к группе. Вы можете изменить это поведение, включив --set-gtid-purged=OFF в команде mysqldump. У меня все еще есть проблемы с репликацией (кажется, что она застревает сейчас при копировании базы данных mysql), но новые виртуальные машины, по крайней мере, сейчас пытаются догнать оригинальную. Отправлю обратно, если я сделаю дальнейший прогресс.

0 ответов

Другие вопросы по тегам