MariaDb Master-master репликация

Я пробовал репликацию мастер-подчиненный нескольких баз данных mariadb-5.5.52-1 в среде RHEL, mariadb появился как часть приложения nagiosxi. при репликации от мастера к подчиненному у меня было много повторяющихся ошибок 1602, ведущее устройство не может перезаписать значения, которые были в ведомом устройстве. пожалуйста, предоставьте мне какой-нибудь ценный источник или информацию, чтобы решить эту проблему.

Я следил за этими URL-адресами, чтобы выполнить ответ "главный-подчиненный" https://forums.mysql.com/read.php?26,171776,205870 https://tunnelix.com/simple-master-master-replication-on-mariadb/

Спасибо за advance

0
задан 17 May 2018 в 18:59
1 ответ

Эй, Мохан, неясно, хотите ли вы, чтобы мастер был мастером или мастер подчинялся? Настроить master на slave довольно просто. Особенно, если вы сделали это раз или два.

master to slave

В этом сценарии машина A является ведущей. Вам необходимо отредактировать файл /etc/my.cnf на машине A

В разделе [mysqld] включите двоичное ведение журнала и определите serverID.

[mysqld]
log-bin=mysql-bin
server-id=1
innodb_flush_log_at_trx_commit=1
sync_bin_log=1

Перезагрузите Mariadb и подключитесь Создайте пользователя репликации.

MariaDB [(none)]> create user 'repl'@'10.0.0.1' identified by 'password' ; 
MariaDB [(none)]> grant replication slave on *.* to 'repl'@'10.0.0.1'; 

Заблокируйте таблицы и экспортируйте данные.

MariaDB [(none)]> flush tables with read lock; 

Найдите расположение двоичного журнала.

MariaDB [(none)]> show master status 

Создайте дамп базы данных.

mysqldump --all-databases --master-data -uroot -p >/tmp/master.sql 

Разблокируйте столы.

MariaDB [(none)]> unlock tables; 

Скопируйте master.sql на подчиненный сервер.

О рабе.

Отредактируйте /etc/my.cnf

[mysqld]
server-id=2 

Настройте ведомое устройство

MariaDB [(none)]> change master to 
 -> master_host='10.0.0.2' 
 -> master_user='repl' 
 -> master_password='password' 
 -> master_log_file='mysql_bin.00001'
 -> master_log_pos=481

Чтобы получить файл master_log_file и master_log_pos, вы получите это, когда запустите show master status на ведущем устройстве. enter image description here

Импортируйте резервную копию базы данных

mysql -uroot -p </tmp/master.sql 

Затем запустите подчиненный процесс.

MariaDB [(none)]> start slave; 

Проверить статус ведомого enter image description here

2
ответ дан 4 December 2019 в 13:26

Теги

Похожие вопросы