GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
На сервере, который будет выступать мастером, необходимо внести правки в my.cnf: # выбираем ID сервера, произвольное число, лучше начинать с 1 server-id = 1 # путь к бинарному логу log_bin = /var/log/mysql/mysql-bin.log # название Вашей базы данных, которая будет реплицироваться binlog_do_db = newdatabase
USE newdatabase; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | **mysql-bin.000001** | **107** | newdatabase | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)
mysqldump -u root -p newdatabase > newdatabase.sql UNLOCK TABLES;
CREATE DATABASE newdatabase; mysql -u root -p newdatabase < newdatabase.sql
В настройках my.cnf на Слейве необходимо указать такие параметры: # ID Слейва, удобно выбирать следующим числом после Мастера server-id = 2 # Путь к relay логу relay-log = /var/log/mysql/mysql-relay-bin.log # Путь к bin логу на Мастере log_bin = /var/log/mysql/mysql-bin.log # База данных для репликации binlog_do_db = newdatabase
CHANGE MASTER TO MASTER_HOST='10.10.0.1', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 107; START SLAVE;
SHOW SLAVE STATUS \G