Está en la página 1de 2

Configurando replicacin Master/Slave en MySQL

La replicacin es una buena alternativa para tener disponibilidad de informacin cuando un servidor se cae. La replicacin no suplanta los backups, sino, simplemente garantiza la operatividad.MySQL soporta un esquema de replicacin asincrnica de un servidor maestro a uno o varios servidores esclavos. El master escribe las transacciones en un log binario, que sirve como registro de actualizaciones para enviar a los servidores esclavos. En esta oportunidad solo veremos una configuracin Master-Slave, es decir, todas las actualizaciones sobre el servidor maestro son replicadas en el esclavo. Si se realizan actualizaciones sobre el esclavo, estas no se hacen efectivas en el maestro. Para crear un esquema de replicacin maestro-maestro es necesario crear un esquema circular, donde cada servidor es maestro y esclavo, a la vez, del otro. Los pasos para configurar la replicacin Maestro-Esclavo son:

En el servidor maestro, agregar/modificar, la seccin [mysqld] del archivo de configuracin my.cnf o my.ini (dependiendo del sistema operativo):

[mysqld] log-bin=mysql-bin server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1


En el servidor maestro, reiniciar el demonio (o servicio) mysqld En el servidor maestro, crear un usuario con el privilegio REPLICATION SLAVE. El usuario no necesita otro privilegio.

CREATE USER user@ host IDENTIFIED BY password ; GRANT REPLICATION SLAVE ON *.* TO user@host IDENTIFIED BY password;

En el servidor maestro, ejecutar FLUSH TABLES WITH READ LOCK;, para prevenir la escritura a base de datos en el maestro. En el servidor maestro, ejecutar SHOW MASTER STATUS; en el maestro y recordar los valores para ms adelante En el servidor maestro, ejecutar UNLOCK TABLES; En el servidor esclavo, modificar el archivo my.cnf o my.ini y reiniciar el daemon:

[mysqld] server-id=2 En el servidor esclavo, ejecutar las siguientes instrucciones (ajustar los valores de acuerdo al usuario creado y los valores obtenidos al realizar el SHOW MASTER STATUS anterior. CHANGE MASTER TO MASTER_HOST=host, MASTER_USER=user, MASTER_PASSWORD=password, MASTER_PORT=3306, MASTER_LOG_FILE=mysql-BIN.000001, MASTER_LOG_POS=98, MASTER_CONNECT_RETRY=10;

En el servido esclavo, ejecutar:

START SLAVE;

En el servidor esclavo, para asegurarnos que la replicacin se inici satisfactoriamente, en el log de mysql deberamos ver algo as:

080609 8:47:02 [Note] Slave I/O thread: connected to master root@host:3306, replication started in log mysql-bin.000001 at position 98

Ruta my.ini
C:\ProgramData\MySQL\MySQL Server 5.6\my.ini