Пример быстрой настройки репликации.
на том же master сервере вносим в главный конфигурационный файл my.cnf
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
bind-address = 0.0.0.0
На master сервере создаем mysql пользователя специально для репликации с соответствующими правами
mysql> grant replication slave on *.* to 'repl_user'@'%' identified by 'secret';
выполняем первоначальную синхронизацию master и slave серверов, копируем базы данных с master на slave. Это можно сделать просто через бэкап всех баз на master'e и разворачивании этого бэкапа на slave сервере. После чего выключаем mysql сервер
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
bind-address = 0.0.0.0
запускаем mysql сервер и выполняем очистку существующих бинарных логов на нем
mysql> reset master;
выключаем slave сервер, если он включен, вносим в my.cnf и обратно включаем
server-id = 2
master-host = 192.168.1.100
master-user = repl_user
master-password = secret
на Debian потребуется перенос файла /etc/mysql/debian.cnf на slave сервер, так как в нем хранятся данные для доступа скриптов ОС к mysql серверу
Теперь проверяем состояние и работоспособность настроенной репликации
на master сервере
на master сервере
mysql> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 191 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
на slave сервере
mysql> show slave status;
часть вывода
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.1.100
Master_User: repl_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000003
Read_Master_Log_Pos: 191
Relay_Log_File: mysqld-relay-bin.000006
Relay_Log_Pos: 336
Relay_Master_Log_File: mysql-bin.000003
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Комментариев нет:
Отправить комментарий