domingo, 27 de septiembre de 2015

4 - CONFIGURACIÓN DE MYSQL SERVER

Unas de las cosas más deseadas es la replicación de información con la intención de tener la información fresca en otro servidor en caso de problemas con el servidor principal, para este ejemplo vamos a configurar una replicación maestro-esclavo, tomando como ejemplo:
Servidor Master, IP: 180.180.1.8
Servidor Slave, IP: 180.180.1.9

1.1.       Configuración del Servidor Master

-          Editamos el archivo my.cnf agregando las siguientes líneas:
Server-id=1
Log-bin=mysql-bin
-          Reiniciamos el MySQL: sudo service mysql restart
-          Entramos al MySQL para crear el usuario que hará la replicación: CREATE USER replicador IDENTIFIED BY ‘lacontraseña’;
-          Le damos los permisos necesarios: GRANT REPLICATION SLAVE ON *.* TO ‘replicador’@’%’ IDENTIFIED BY ‘lacontraseña’; FLUSH PRIVILEGES;
-          Ya configurado el servidor debemos bloquear las tablas para crear una copia de la(s) base(s) de dato(s):
-          Bloquear tablas: FLUSH TABLES; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
-          Al ejecutar SHOW MASTER STATUS el MySQL podrá mostrarnos la siguiente información, tal información es importante y se debe anotar tanto File como Position (pueden variar):
-------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      664 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
-          Creamos la copia de del master con la herramienta que se desee (Workbench, mysqldump etc) lo importante es que TODA la base de datos sea copiada.

1.2.       Configuración del Servidor Slave

-          Editamos el archivo my.cnf agregando las siguientes líneas:
Server-id=2
Relay-log=mysqld-relay-bin
-          Reiniciamos el MySQL: sudo service mysql restart
-          Restauramos en este servidor la copia hecha del Master.
Dentro del MySQL ejecutamos la instrucción siguiente:
CHANGE MASTER TO
MASTER_HOST=’180.180.1.8’,
MASTER_USER=’replicador’, 
MASTER_PASSWORD=’lacontraseña’,
MASTER_LOG_FILE=’mysql-bin.000001’, 
MASTER_LOG_POS=664, MASTER_PORT=3306;
-          Iniciamos la replicación: START SLAVE;
Desbloqueamos las tablas dentro del servidor Master UNLOCK TABLES;
Y podemos verificar el estatus del master con SHOW MASTER STATUS;

Y podemos verificar el estatus del slave con SHOW SLAVE STATUS\G;

No hay comentarios:

Publicar un comentario