Replicacion en MySQL

En este post vamos a hacer muy sencilla la replicacion con mysql y vamos a dar una intro a como podemos realizar esto para luego tratar de abordar casos un poco mas avanzados.

En el servidor Master
Debemos dejar parte de nuestro my.cnf asi:

[mysqld]
# The TCP/IP Puerto en el que escuchara nuestro MySQL
port=3306
server-id=1
binlog-do-db=BASEAREPLICAR
log-bin = /var/log/mysql/masterserver-bin.log

Luego desde el shell creamos el usuario

GRANT  REPLICATION SLAVE ON *.* TO 'usuario_slave'@'%' IDENTIFIED BY  'password';
+-----------------------+----------+--------------+------------------+
| File                  | Position | Binlog_do_db | Binlog_ignore_db |
+-----------------------+----------+--------------+------------------+
| masterserver-bin.004  | 206      | baseareplicar|                  |
+-----------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

en el Slave

Como primer medida debemos volcar el dump original del master sobre nuestro SLAVE para no hacer un LOAD DATA FROM MASTER (otra opcion) y evitar lockear el servidor master. Entonces hacemos una importancion de la base del master y luego en nuestro my.cnf vamos a agregar o siguiente:
server-id=2
master-host=192.168.0.18
master-user=usuario_slave
master-password=contraseƱa
master-connect-retry=60
replicate-do-db=baseareplicar

Luego el siguiente paso es START SLAVE en nuestro SLAVE y si tuvieramos algun inconveniente simplemente desde consola hacemos lo siguiente:

STOP SLAVE;

CHANGE MASTER TO MASTER_HOST='192.168.0.18', MASTER_USER='usuario_slave', MASTER_PASSWORD='contraseƱa', MASTER_LOG_FILE='masterserver-bin.004', MASTER_LOG_POS=206;

START SLAVE;

Y listo tenemos la replicacion funcionando perfectamente.

About the Author

Leave a Reply