Está en la página 1de 25

Replica en

MySQL
MANUEL ALCÁNTARA
RUIZ

DISEÑO DE BASE DE
DATOS
OBJETIVO GENERAL:

Realizar una réplica de una base de


datos, que permita tener los
registros actualizados en una
maquina esclavo por cada
modificación que se realice a los
datos almacenados.
OBJETIVOS PARTICULARES:

Investigar cómo realizar una réplica


en MySQL.
Analizar el funcionamiento de la
réplica.
Realizar la réplica de la base de
datos en un esclavo.
JUSTIFICACIÓN :

En la actualidad es necesario contar con la


misma información en varios equipos, por
esto es importante el uso de replicas ya que
con estas se puede tener la información en
una base de datos que se crea en una sola
maquina (maestro) y los datos se replican
en uno o más equipos (esclavos). Esto
permite optimizar recursos y tiempo.
MARCO TEÓRICO :

Mysql permite replicar bases de datos,


dentro de un mismo servidor mysql (en la
misma máquina), o entre B.D. localizadas
en diferentes servidores en red local o
remota. Para poder conseguir replicar uno
de los servidores (Servidor M)  tiene que
ser el maestro y el otro servidor el esclavo
(Servidor E).
Servidor M (Servidor principal, sería el
CARACTERÍSTICAS

Podemos replicar Bases de Datos en el mismo


servidor (Diferentes servicios MySql), en
Servidores diferentes en LAN (Red Local) o
WAN (Servidores Remotos).

Se puede configurar (etc/my.cnf), la


replicación parcial o total de las tablas de la
Base de Datos a replicar del Servidor Maestro
al Servidor Esclavo/s.
CARACTERÍSTICAS

La replicación es
UNIDIRECCIONAL, los datos se
copian de una base de datos a otra en un
solo sentido, eso quiere decir que solo en
una base de datos se deben actualizar los
datos (sentencias INSERT, UPDATE,
DELETE),  que es la base de datos
maestra, y la base de datos esclava nunca
debe recibir sentencias de actualización de
las tablas que se replican, solo consultas
(SELECT).esclavo
CARACTERÍSTICAS

De las tablas de la Base de Datos que no se


replican, entre el Servidor Maestro y el Esclavo,
se pueden realizar las sentencias (INSERT,
UPDATE y DELETE), en la base de datos del
Servidor Esclavo.

Podemos tener sendos servidores esclavos para


cada maestro, pero no varios maestros para un
esclavo.
CARACTERÍSTICAS

La replicación copia exactamente todos los


cambios que se van haciendo desde que se activa
el sistema de replicación, es decir, antes de
replicar hay que hacer un backup definitivo de la
base de datos principal a la esclava, para que las
2 bases de datos tengan exactamente la misma
información.
Cada servidor esclavo debe tener permiso para
conectar con el maestro y solicitar las
actualizaciones.
.
CARACTERÍSTICAS

El servidor esclavo necesita una cuenta


en el servidor maestro para que pueda
conectarse. En el servidor maestro,
configure una cuenta como ésta :
Mysql> GRANT REPLICATION
SLAVE ON *.* TO
‘usuario_esclavo’@'host_esclavo’
IDENTIFIED BY ‘contraseña_esclavo’;
CARACTERÍSTICAS

El servidor maestro crea un hilo de proceso


para manejar cada esclavo. En el lado del
servidor esclavo se crean 2 hilos para manejar
las tareas de réplica. El primer hilo es de
Entrada/Salida recibe los eventos para procesar
del servidor maestro y los escribe en los
registros de reenvío del esclavo. El segundo
hilo el SQL lee los eventos de los registros de
reenvío y los ejecuta.
Es aconsejable que las réplicas de las Bases de
Datos MySql sean de la misma versión y si es
DESARROLLO

Crear una base de datos.

Crear una tabla


DESARROLLO

r a la ruta “C:\Program Files\MySQL\MySQL Server 5.1”


abrir el archivo “my”.
n el apartado de [mysqld] agregar el código siguiente:
DESARROLLO

Guardar y cerrar.
Reiniciar el servicio de MySQL:
DESARROLLO

Abrir símbolo del sistema y abrir “MySQL”:


ingresar “mysql –u root -p”
ingresar la contraseña de mysql.
DESARROLLO

Agregar el siguiente código:

•Seleccionar la base de datos que se creó.


•“use pruebareplica;”
DESARROLLO

show master status;”



DESARROLLO
•Hacer un respaldo de la basse de datos.
•“mysqldump –u root –p –opt pruebareplica > pruebareplica.sql”
ingresar la contraseña de mysql.

•Entrar a mysql y desbloquear las tablas con el


siguiente codigo:
•“unlock tables;”

• Salir de mysql.
DESARROLLO
Ahora se configura el esclavo
Es necesario que donde se hizo el respaldo o backup de
ase de datos en el maestro .copiemos el archivo .sql que
e genero y se pegue en la maquina que funcionara
como esclavo en la unidad c:\
•Crear la base de datos que
pruebareplica.sql
se desea replicar.
•Entramos en MysQL
escribiendo la siguiente
línea.
DESARROLLO
DESARROLLO

Busque el archivo My.ini, y después del [mysqld]


agregamos lo siguiente.
m y.ini

Ahora se reinicia el servicio de Mysql


DESARROLLO

Finalmente entramos a MySql y


detenemos el esclavo.

Una vez que se detuvo el esclavo, se escribe lo siguiente


con el fin de actualizar la tabla que utiliza el esclavo para
replicar.
DESARROLLO

En el MASTER_LOG_POS va la posición que nos


marco cuando se ejecuto SHOW MASTER STATUS
en el paso que realizo el maestro.

Finalmente se escribe START SLAVE.


DESARROLLO

El maestro agrega los siguientes datos para poder


visualizarlos en el esclavo y así confirmar que se
esta realizando la replica.

•Una vez que el maestro agrego registros, en el esclavo


•se realiza una consulta para verificar que todo salió bien.
REPLICA TERMINADA

También podría gustarte