¡Esta es una revisión vieja del documento!
1- Escenario:
master1 vlsrv05 172.16.19.14 master2 vlsrv06 172.16.19.15
2- Configuración:
Configuramos el archvio /etc/my.cf en ambos servidores:
Master 1: log-bin = /var/log/mysql/mysql-bin server-id = 1 auto_increment_increment= 2 auto_increment_offset = 1 Master 2: log-bin = /var/log/mysql/mysql-bin server-id = 2 auto_increment_increment= 2 auto_increment_offset = 2
Y reiniciamos el servicio mysql en ambos servidores.
3- Creamos un usuario para replicar:
Generamos el usuario “replicacion” para acceso desde cualquier host o 2 usuarios, uno para acceso desde cada servidor.
mysql-master> GRANT REPLICATION SLAVE ON *.* TO 'replicacion'@'%' IDENTIFIED BY 're512plik'; mysql-master> FLUSH PRIVILEGES;
Esto originalmente deberiamos hacerlo en los 2 servidores pero no hace falta en este caso porque luego copiaremos todas las bases de datos al otro servidor (inclusive 'mysql').
4- Debemos igualar las bases de datos:
a) Detenemos los servicios de MySQL en ambos servidores.
b) Copiamos y enviamos la base de datos MySQL al otro servidor:
mysql-master# cd /var/lib && tar czvf /tmp/data-mysql.tar.gz mysql mysql-master# scp /tmp/data-mysql.tar.gz root@vlsrv06:/tmp
c) En el otro servidor la descomprimimos y copiamos en /var/lib/mysql/
5- Activar replicación:
Debemos ejecutar el siguiente comando en ambos servidores y anotamos los datos:
mysql-master1> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000006 | 336 | | | +------------------+----------+--------------+------------------+ mysql-master2> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000002 | 106 | | | +------------------+----------+--------------+------------------+
Activamos la replicacion en ambos servidores utilizando los datos del paso anterior:
mysql-master1> CHANGE MASTER TO MASTER_HOST='172.16.19.15', MASTER_USER = 'replicacion', MASTER_PASSWORD = 'MIPASSWORD', MASTER_LOG_FILE = 'mysql-bin.000002', MASTER_LOG_POS = 106;
mysql-master2> CHANGE MASTER TO MASTER_HOST='172.16.19.14', MASTER_USER = 'replicacion', MASTER_PASSWORD = 'MIPASSWORD', MASTER_LOG_FILE = 'mysql-bin.000006 ', MASTER_LOG_POS = 336;
Nota:
6- Arrancamos los procesos slave en ambos nodos:
mysql@M1> START SLAVE; mysql@M2> START SLAVE;
7- Verificar que todo funcione:
show slave status\G;