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

MariaDb Мастер-мастер репликация

Я пробовал репликацию master-slave нескольких баз данных 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/

заранее спасибо

Привет, Мохан, непонятно, хотите ли вы, чтобы господин господствовал или господин рабам? Настроить master на 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 на главном сервере.

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

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

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

MariaDB [(none)]> start slave; 

Проверить статус ведомого