Как настроить репликацию mysql за 6 шагов
Настроиваем репликацию на мастере
Правим /etc/mysql/my.cnf
server-id = 1 binlog-format = mixed log-bin = mysql-bin sync_binlog = 1
Рестартуем mysql
/etc/init.d/mysql restart
Даем права на репликацю для пользователя repl
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'$slaveip' IDENTIFIED BY '$slavepass';
Создание слейва
На мастере делаем бэкап с помощью xtrabackup
#!/bin/bash PASSWORD="парольрута" xtrabackup --backup --user=root --password=${PASSWORD} --target-dir=/root/backupdb/ xtrabackup --user=root --password=${PASSWORD} --prepare --target-dir=/root/backupdb/
Копируем на слейв
rsync -avpP -e ssh /root/backupdb/ root@SLAVEIP:/root/backupdb/
Идем на слейв
Стопаем mysql
mysqladmin -u root -pПароль shutdown all
Вычищаем старую базу
rm -rf /var/lib/mysql
Переносим новую, скопированную с мастера и применяем права и стартуем слейв
mv /root/backupdb /var/lib/mysql chown mysql:mysql /var/lib/mysql /etc/init.d/mysql restart
Теперь подключим репликацию
Смотримпозицию на слейве в файле
cat /var/lib/mysql/xtrabackup_binlog_info
Видим что-то типа
mysql-bin.000001 322017465
Заходим в консоль mysql и подключаем репликацию
CHANGE MASTER TO MASTER_HOST='$master-ip', MASTER_USER='replicator', MASTER_PASSWORD='$slavepass', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=322017465; START SLAVE;
Смотрим статус
SHOW SLAVE STATUS\G