¡Esta es una revisión vieja del documento!
Por el equipo de FMSI Sistemas de Informática ::: Fecha creación: 20130530
master1 vlsrv05 192.168.19.14 master2 vlsrv06 192.168.19.15
Configuramos MySQL con el archivo /etc/my.cf en ambos servidores:
log-bin = /var/log/mysql/mysql-bin server-id = 1 auto_increment_increment= 2 auto_increment_offset = 1
log-bin = /var/log/mysql/mysql-bin server-id = 2 auto_increment_increment= 2 auto_increment_offset = 2
Luego se debe reiniciar el servicio mysql en ambos servidores:
service mysql restart
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 '<password>'; 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').
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/
Debemos ejecutar el siguiente comando en ambos servidores y anotar 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='192.168.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='192.168.19.14', MASTER_USER = 'replicacion', MASTER_PASSWORD = 'MIPASSWORD', MASTER_LOG_FILE = 'mysql-bin.000006 ', MASTER_LOG_POS = 336;
Nota:
mysql@M1> START SLAVE; mysql@M2> START SLAVE;
show slave status\G;