Para este ejercicio requerimos de 2 hosts con cualquier distribución de linux instalado. Ambos con MySQL 5.5 instalado y funcionando.
Estos 2 hosts tienen 2 roles.
- Maestro
- Esclavo
Pasos para configuración del servidor MAESTRO:
1.-Modificar el archivo /etc/my.cnf agregando las siguientes líneas dentro del apartado [mysqld]
log-bin=mysql-bin
server-id=1
sync_binlog=1
El primer parámetro indica el nombre el archivo a utilizar para el log donde almacena todas las operaciones sobre la base de datos en cuestión.
El segundo parámetro indica el identificador único de los motores de bases de datos a configurar.
El tercer parámetro es para garantizar la consistencia en la replicación usando InnoDB que es el caso de la base de datos de prueba.
2.-Reiniciar el servicio de MySQL
3.-Crear un usuario en el servidor maestro para uso exclusivo de la replicación, esto con motivos de seguridad, estableciendo el permiso de REPLICATION SLAVE, como se muestra a continuación.
CREATE USER ‘user’@ ‘host_esclavo’ IDENTIFIED BY ‘password’ ;
GRANT REPLICATION SLAVE ON *.* TO ‘replicadb’@’host_esclavo’ IDENTIFIED BY ‘password’;
Pasos para configurar el servidor ESCLAVO:
1.-Modificar el archivo /etc/my.cnf agregando las siguientes líneas dentro del apartado [mysqld]
server-id=2
log-bin = /var/log/mysql/bin.log
log-bin-index = /var/log/mysql/log-bin.index
log-error = /var/log/mysql/error.log
relay-log = /var/log/mysql/relay.log
relay-log-info-file = /var/log/mysql/relay-log.info
relay-log-index = /var/log/mysql/relay-log.index
2.-Crear directorio /var/log/mysql
mkdir /var/log/mysql
chown mysql.mysql mysql
3.-Reiniciar el servicio de MySQL
4.-Ejecutar los comandos siguientes en la consola de MySQL del servidor esclavo.
SHOW MASTER STATUS;
CHANGE MASTER TO MASTER_HOST=’host_maestro’;
CHANGE MASTER TO MASTER_USER=’user’;
CHANGE MASTER TO MASTER_PASSWORD=’password’;
CHANGE MASTER TO MASTER_PORT=3306;
5.-En la consola de MySQL ejecutar el siguiente comando:
START SLAVE;
En este momento ya se encuentran sincronizando los motores de bases de datos.
Para bases de datos grandes es recomendable respaldar la base de datos del servidor maestro y restaurarla en el servidor esclavo antes de comentar con la replicación, esto para evitar la carga de replicación que implicaría sincronizar bases de datos grandes por primera ocasión.
No hay comentarios:
Publicar un comentario