@tzn

MySQL multi master-master-master?

Доброго времени суток.
Не могу собрать 3 мастер сервера в кучу. Кто сталкивался, подскажите где я не прав

SERVER_1

nano /etc/mysql/mysql.conf.d/mysqld.cnf

server_id = 1
log_bin = /var/log/mysql/mysql-bin.log
auto-increment-increment = 2
auto-increment-offset = 1
bind-address = SERVER_1


sudo service mysql restart

mysql -u root -p

create user 'replication_user'@'SERVER_2' identified by 'pass';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'SERVER_2';
FLUSH PRIVILEGES;

SHOW MASTER STATUS;


File = mysql-bin.SERVER_1
Position = POSTION_SERVER_1


STOP SLAVE;
CHANGE MASTER TO master_host='SERVER_2', master_port=3306, master_user='replication_user', master_password='pass', master_log_file='mysql-bin.SERVER_2', master_log_pos=POSTION_SERVER_2;
START SLAVE;


SERVER_2

nano /etc/mysql/mysql.conf.d/mysqld.cnf

server_id = 2
log_bin = /var/log/mysql/mysql-bin.log
auto-increment-increment = 2
auto-increment-offset = 2
bind-address = SERVER_2


sudo service mysql restart

mysql -u root -p

create user 'replication_user'@'SERVER_3' identified by 'pass';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'SERVER_3';
FLUSH PRIVILEGES;

SHOW MASTER STATUS;


File = mysql-bin.SERVER_2
Position = POSTION_SERVER_2


STOP SLAVE;
CHANGE MASTER TO master_host='SERVER_3', master_port=3306, master_user='replication_user', master_password='pass', master_log_file='mysql-bin.SERVER_3', master_log_pos=POSTION_SERVER_3;
START SLAVE;


SERVER_3

nano /etc/mysql/mysql.conf.d/mysqld.cnf

server_id = 3
log_bin = /var/log/mysql/mysql-bin.log
auto-increment-increment = 2
auto-increment-offset = 3
bind-address = SERVER_3


sudo service mysql restart

mysql -u root -p

create user 'replication_user'@'SERVER_1' identified by 'pass';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'SERVER_1';
FLUSH PRIVILEGES;

SHOW MASTER STATUS;


File = mysql-bin.SERVER_3
Position = POSTION_SERVER_3


STOP SLAVE;
CHANGE MASTER TO master_host='SERVER_1', master_port=3306, master_user='replication_user', master_password='pass', master_log_file='mysql-bin.SERVER_1', master_log_pos=POSTION_SERVER_1;
START SLAVE;


a5de278410e6a7d82c29445c3742085a.jpg

Вроде как же, замыкаю кольцо... но ошибка одна и та же

10 [ERROR] [MY-010584] [Repl] Slave I/O for channel '': error connecting to master 'replication_user@IP' - retry-time: 60 retries: 16 message: Host 'HOST' is not allowed to connect to this MySQL server, Error_code: MY-001130
  • Вопрос задан
  • 136 просмотров
Пригласить эксперта
Ответы на вопрос 1
karabanov
@karabanov
Системный администратор
На SERVER_1 ты создал пользователя 'replication_user'@'SERVER_2', а потом пытаешься подключаться к нему с SERVER_3, но пользователь 'replication_user'@'SERVER_3' на SERVER_1 отсутствует.

Чтобы не запутаться сделай везде одного пользователя, но последний октет IP замени на wildcard, например 'replication_user'@'10.10.10.%'.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы