Вы находитесь на странице: 1из 3

REPLICACION CON MYSQL

Francisco Jovanny Ziga Molina Isc_jovanny@hotmail.com Orlando Daniel Lpez Toledo


orlandodaniel@hotmail.com

Jos Humberto Morales Rodrguez


jhmorales_76@live.com.mx Jacobo Montoya Vzquez yakoojk@hotmail.com

RESUMEN: El siguiente documento tiene la finalidad de mostrar el proceso que se sigui para realizar la
replicacin de una base de datos utilizando MySQL. Para esta prctica se utilizo MySQL 5.1 instalado en 4 mquinas virtuales. El resultado de esta prctica demuestra que la replicacin es un proceso importante y de gran utilidad que permite aumentar la disponibilidad de los datos y mejora el funcionamiento de las consultas globales a la BD y que en la actualidad la mayora de los DBMS ya implementan.

1 INTRODUCCIN
La replicacin consiste en el transporte de datos entre dos o ms servidores, permitiendo que ciertos datos de la base de datos estn almacenados en ms de un sitio, y as aumentar la disponibilidad de los datos y mejorar el rendimiento de las consultas globales. Para la realizacin de la prctica se utiliz lo siguiente:

4 Maquinas con Ubuntu 10.04 Mysql-Server-5.1

2 SISTEMA MAESTRO
2.1 Configuracin.
Lo primero a realizar es configurar en el archivo my.ini lo siguiente: [mysqld] log-bin server-id=1 Lo que hacemos es asignar al servidor en donde se encuentra el sistema maestro con un identificador nico igual a uno. La lnea log-bin sirve para indicar el archivo binario que servir al esclavo para realizar el transporte de los datos. Y reiniciamos el servicio de MySQL para que tome la nueva configuracin. A continuacin procedemos a crear dentro del sistema maestro un usuario esclavo que ser el responsable de la comunicacin entre el maestro y el esclavo. Se hace de la siguiente forma por cada esclavo que tengamos:
GRANT REPLICATION SLAVE ON *.* TO USUARIO@IPESCLAVO IDENTIFIED BY 'CONTRASEA'

GRANT REPLICATION SLAVE ON *.* TO usresclavo@192.168.1.101 IDENTIFIED BY 'replicar'

Despus de realizar esto se procede a bloquear las tablas de la base de datos que se va a replicar ya que se necesita un respaldo del lado del sistema esclavo idntico al del maestro. El bloqueo de tablas se hace de la siguiente forma: FLUSH TABLES WITH READ LOCK Y para crear el respaldo de la base de datos utilizamos el comando mysqldump de la siguiente forma: mysqldump u root p escuela > escuela.sql Utilizamos el comando SHOW MASTER STATUS para verificar el nombre del archivo binario y el desplazamiento.

Guardamos los valores. Los necesitaremos ms tarde cuando inicialicemos el servidor. Estos representan las coordenadas de la replicacin en que el esclavo debe comenzar a procesar nuevas actualizaciones del maestro. Por ltimo desbloqueamos todas las tablas con el comando UNLOCK TABLES. Y con esto terminamos la configuracin del sistema maestro.

3 SISTEMA ESCLAVO
3.1 Configuracin.
Lo primero a realizar es configurar en el archivo my.ini lo siguiente: [mysqld] server-id=2 Lo que hacemos es asignar al servidor en donde se encuentra el sistema esclavo con un identificador nico igual a dos. Reiniciamos el servicio de MySQL para que tome la nueva configuracin. A continuacin se va restaurar la informacin de la base de datos de la que se hizo el backup en el sistema maestro, para hacer esto debemos copiar el archivo al sistema maestro y utilizamos el archivo mysql.exe para restaurar en el esclavo la informacin de la siguiente forma: mysql -u root -p < escuela.sql. Se ejecutan los siguientes comandos: CHANGE MASTER TO -> MASTER_HOST='IPSERVIDOR', -> MASTER_USER='USUARIO', -> MASTER_PASSWORD='CONTRASEA', -> MASTER_LOG_FILE='FILE', -> MASTER_LOG_POS=POSITION;

CHANGE MASTER TO -> MASTER_HOST='192.168.1.100', -> MASTER_USER='usresclavo', -> MASTER_PASSWORD='replicar', -> MASTER_LOG_FILE='SERVIDOR-bin.000004', -> MASTER_LOG_POS=536; Ya por ultimo procedemos a iniciar el servidor con el comando: START SLAVE.

Una vez realizado este procedimiento, el esclavo debe conectar con el maestro y atapar cualquier actualizacin que haya ocurrido desde que se obtuvieron los datos. Podemos verificar que el sistema esclavo esta comunicndose con el maestro utilizando el comando SHOW SLAVE STATUS, este comando muestra una serie de datos pero el importante para saber si hay una conexin establecida es el campo SLAVE_IO_State, este campo debe tener el valor Waiting for master to send event como se muestra a continuacin.

4 REFERENCIAS
[1] Kofler Michael, The Definitive Guide to MySQL 5, 3er. ed. Apress. pp 374-379. 2005. [2] Manual de Referencia MySQL, http://dev.mysql.com/doc/refman/5.0/es/replication.html

Вам также может понравиться