Настройка репликации mysql с помощью xtrabackup утилиты percona

Как настроить репликацию 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.