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/mysql/my.cnf 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 se debería hacer en los 2 servidores, pero no hace falta en este caso porque luego se copiarán todas las bases de datos al otro servidor (inclusive 'mysql').
mysql-master# cd /var/lib && tar czvf /tmp/data-mysql.tar.gz mysql mysql-master# scp /tmp/data-mysql.tar.gz root@vlsrv06:/tmp
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 = '<password>', 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 = '<password>', MASTER_LOG_FILE = 'mysql-bin.000006 ', MASTER_LOG_POS = 336;
mysql@M1> START SLAVE; mysql@M2> START SLAVE;
En cada uno de los servidores, el siguiente comando mostrará el servidor que está actuando como master, y la información de replicación:
show slave status\G;