Репликация master-master в MySQL

Материал из ISPWiki

Перейти к: навигация, поиск

Минимальная установка

Для такого вида репликации требуется MySQL версии 5.0 или выше.

Сделайте две свежих установки MySQL. Выставьте одинаковый пароль рута (в будущем, он будет в любом случае одинаковым, т.к. данный конфиг реплицирует и базу mysql со всеми паролями). На обеих машинах создайте специального пользователя:

grant replication slave on *.* to replication@'%' identified by 'slave';

Разрешите руту удалённые соединения (в случае oproxy, MySQL в вашей конфигурации скорее всего будет слушать только TCP-сокет):

grant all on *.* to root@'%' identified by 'PASSWORD' with grant option;

В случае Debian, аналогично для пользователя debian-sys-maint (см. /etc/mysql/debian.cnf):

grant all on *.* to debian-sys-maint@'%' identified by 'PASSWORD';

На первой машине в /etc/my.cnf пишем:

server-id=1

relay-log=master1-relay-bin

master-host = IP_ВТОРОЙ_МАШИНЫ
master-user = replication
master-password = slave
master-port = 3306

slave-skip-errors = all

log-bin=mysql-bin

auto_increment_increment = 2
auto_increment_offset = 1

На второй машине:

server-id=2

relay-log=master2-relay-bin

master-host = IP_ПЕРВОЙ_МАШИНЫ
master-user = replication
master-password = slave
master-port = 3306

slave-skip-errors = all

log-bin=mysql-bin

auto_increment_increment = 2
auto_increment_offset = 2

Убедитесь, что в файле нет дублей этих строчек (в первую очередь, касается server-id и log-bin). Перезапустите оба MySQL. Если всё в порядке, на обеих машинах в логах должны появиться такие строчки:

090107  8:08:39 [Note] Slave SQL thread initialized, starting replication in log 'mysql-bin.000013' at position 537, relay log './master2-relay-bin.000051' position: 98
090107  8:08:39 [Note] Slave I/O thread: connected to master 'replication@10.0.0.2:3306',  replication started in log 'mysql-bin.000013' at position 537

Создайте базу на одной машине. Она должна появиться на второй. Аналогично, проверьте репликацию в другую сторону.

Была ли эта информация полезной? Да | Нет
Личные инструменты