Назад | Перейти на главную страницу

как сделать автоматическое переключение кластера mysql / galera

У меня есть два кластера mysql / galera по три узла каждый (два + garb node).

Кластеры находятся в отдельных DC (dc1 и dc2)

Кросс-кластерная репликация происходит между node1-dc1 и node1-dc2.

Я хочу знать, как автоматически переключаться при отказе в случае, если node1-dc1 переходит в node2-dc1.

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

Так настраивается репликация между node1-dc1 и node1-dc2

1 - На каждом узле добавьте следующие строки в файл /etc/my.cnf и перезапустите службу mysql.

# vi /etc/my.cnf
server-id=101       # 102 for the remote galera node
log-slave-updates=1
log-bin=mysql-bin
gtid_mode=ON
enforce-gtid-consistency=1

2 - Добавить грант пользователю-репликанту на обоих узлах

> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO replicant@'%' IDENTIFIED BY 'password';

3 - Запустите репликацию на обоих узлах, установите MASTER_HOST на IP-адрес другого узла

mysql> STOP SLAVE;
mysql> CHANGE MASTER TO MASTER_HOST = '172.1.1.55', MASTER_PORT = 3306, MASTER_USER = 'replicant', MASTER_PASSWORD = 'password', MASTER_AUTO_POSITION = 1;
mysql> START SLAVE;