Vous êtes sur la page 1sur 15

Replicación con maquina virtual

Replicacion de una base de datos en MySQL utilizando una maquina virtual

Que es una replicacion?

consiste en replicar las consultas de actualización (tanto DML como DDL) en una base de datos
maestra (master) sobre una o varias bases de datos esclavas (slave), de manera que tengamos
una copia de las mismas a lo largo del tiempo.

Para empezar a utilizar la raplicacion de una base de datos utilizaremos los siguientes
programas :

· Xampp (MySQL)

· Virtual Box

· Windows 7

· Windows XP

Seguiremos los siguentes pasos para la replicacion:

1. Desactivaremos los Firewall de windows y tambien el antivirus para asegurarnosque


funcione.
2. Iniciaremos Xampp y modificaremos el archivo My.ini

3. En la sección The MySQL server pondremos las siguientes líneas


4. Una vez hecho esto abrimos el cmd (Windows + R) y utilizaremos la instrucción IPCONFIG
para ver la dirección IP del PC y la maquina virtual

5. Ahora abrimos la maquina virtual para probar la conexión usando PING


6. Después de asegurarnos de la conexión nos cambiaremos a la carpeta bin de mysql para
iniciar la replicación

7. Ahora daremos de alta al usuario que usaremos para replicar la base de datos dándole
privilegios de replicación usando la sentencia GRANT

También usaremos la sentencia SHOW DATABASES para ver el nombre de la base de datos a
replicar, nosotros utilizaremos la base de datos artículos_pedidos para este ejercicio.
8.- Bien ahora accedemos a la base de datos y usaremos también la sentencia FLUSH TABLES
WITH READ LOCK esta sentencia no nos permitirá modificar las tablas de la base de datos que
escogimos

Una vez bloqueadas las tablas mostraremos el estado del maestro, hay que guardar el nombre
del archivo mysql-bin.000007, y también la posición 264 ya que esta nos será de utilidad para
la replicación.

Salimos de MySQL y reiniciamos el servicio desde el panel de control de XAMPP, Si se usa


MySQL server podrá reiniciar mediante el administrador de servicios de Windows.
10.- Ya reiniciado el servicio de mysql volvemos al CMD para utilizar la sentencia mysqldump

para generar el archivo de respaldo de la base de datos artículos_pedidos

Volvemos a entrar a MySQL normalmente:


mysql –uroot –p

Y desbloqueamos las tablas usando la sentencia UNLOCK TABLES.

11.- Ahora nos vamos a buscar el archivo respaldo.sql que hicimos en la carpeta bin
(C:\xampp\mysql\bin) de mysql para copiarla a un dispositivo USB y transferir la a la máquina
virtual que usaremos para el replicado.

Nota: el nombre del archivo respaldo.sql puede variar pero no la extensión.


Hasta aquí terminamos con la configuración del maestro y vamos a configurar el esclavo.

12.- Ya que iniciamos la máquina virtual vamos a desactivar el firewall de Windows y si se tiene
antivirus también desactivarlo (en mi caso no tengo antivirus solo desactivare el firewall)
Ahora vamos a configurar el archivo My.ini desde el panel de control de XAMPP, agregando las
líneas de log-bin= mysql-bin, server-id=2 , guardamos el archivo
Para que estos cambios tengan efecto vamos a reiniciar el servicio de mysql desde el panel de
control de XAMPP

13.- Vamos a CMD, nosotros sabemos la dirección IP de la máquina virtual y no usaremos la


sentencia IPCONFIG pero para asegurarnos que existe la conexión haremos PING
14.- Todo bien, a continuación iniciamos mysql y creamos la base de datos(Create database
artículos_pedidos) y la usamos (USE artículos_pedidos)

15.- Salimos de mysql y hacemos que acepte el USB la máquina virtual para tener acceso al
archivo de respaldo
Copiamos esto al disco C: \ y ponemos la sentencia para cargar el archivo con myqsl

16.- Reiniciamos y volvemos a entrar a mysql detenemos al esclavo con la sentencia STOP
SLAVE, cambiamos a maestro dando la dirección IP(192.168.0.4), le damos el nombre del
usuario replicador ( DUPLICA), asignamos la contraseña (pass) y ahora utilizaremos el nombre
del archivo binario mysql-bin.000007
También cambiamos a la posición y utilizamos Start slave; para iniciar al esclavo en la
replicación

17.- mostraremos el estado de nuestra conexión maestro/esclavo con la sentencia SHOW


MASTER STATUS \G y observemos Mostramos la información del esclavo con show slave \G;
Si la línea Seconds_behind_master es igual a NULL entonces la conexión no funciono de lo
contrario como aquí que es igual a cero la conexión es correcta, para comprobarlo usamos la
base de datos y mostramos las tablas

18.- Ahora veamos el contenido de una de las tablas, ejemplo: Select * from articulo;
Todo bien por ahora, pero para verificar si está replicando volvemos al maestro y vamos a
insertar un registro en la tabla que seleccionamos “articulo’ , veamos la tabla primero para
asegurarnos que tenemo los 30 registros:

19.-Una vez verificada la información insertamos el registro 31 con la siguiente sentencia

insert into articulo values (31, 'Kentucky Club higo' , 20 , 80);


20.-El ingreso del registro fue correcto por lo tanto vamos al esclavo y vemos los registros
usando SELECT * FROM articulo para ver si la replica funciono.

Vous aimerez peut-être aussi