Replicación de Base de Datos Utilizando MySQL

12
Replicación de bases de datos utilizando MySQL Bases de Datos Distribuidas M .en. TIC Roció González Mendoza Ingeniería en Software Irving Gerzain Franco Hernández Sergio Valdivia Martínez Septiembre-Diciembre 2015

description

Prácctica realizada

Transcript of Replicación de Base de Datos Utilizando MySQL

Page 1: Replicación de Base de Datos Utilizando MySQL

Replicación de bases de datos utilizando MySQL

Bases de Datos Distribuidas

M .en. TIC Roció González Mendoza

Ingeniería en Software

Irving Gerzain Franco Hernández

Sergio Valdivia Martínez

Septiembre-Diciembre 2015

Page 2: Replicación de Base de Datos Utilizando MySQL

Replicación de Base de Datos

Replicación es el proceso de copiar y administrar objetos de base de datos, tales como tablas, hacia

múltiples bases de datos en localidades remotas que son parte de un sistema de bases de datos

distribuido. Los cambios ejecutados en una localidad son capturados y guardados localmente antes

de ser aplicados a las localidades remotas. Los términos sistemas de bases de datos distribuidas y

replicación de bases de datos, están relacionados, pero no son equivalentes. En un sistema puro de

bases de datos distribuidas se maneja o administra una sola copia de todos los objetos de la base

de datos y sus datos, es decir que existe de manera única la ocurrencia de un objeto de base de

datos en todas las localidades, es decir la información se encuentra particionada de manera

horizontal entre todas las localidades. Las aplicaciones en una base de datos distribuida utilizan

transacciones distribuidas para acceder y modificar tanto los datos locales como remotos.

Figura 1. Ejemplo explicativo básico de una replicación.

Page 3: Replicación de Base de Datos Utilizando MySQL

Configuración del Servidor Maestro

1. Desactivar el Firewall de Windows y el antivirus que usa el Servidor Maestro.

1.1 Dirigirse al Panel de Control >Sistema >Firewall

Figura 2. Desactivar Firewall de Windows

1.2 En este caso es Bitdefender Internet Security

Figura 2.1 Desactivar antivirus

Page 4: Replicación de Base de Datos Utilizando MySQL

2. Modificar el archivo my.ini el cual se encuentra en el panel de control de XAMPP> MySQL>

Config. Abrimos el archivo para modificarlo, colocando lo siguiente (ver Figura 3).

Figura 3. Configuración del archivo.

3. Reiniciamos los Servicios de MySQL , para esto en el Panel de control de XAMPP

detenemos el servicio de y lo iniciamos nuevamente.

3.1 Procedemos a reiniciar los servicios de MySQL.

Figura 4 Reinicio de MySQL

4. Ingresamos a la consola de Windows usando la combinación de Teclas Windows +R y

escribiendo lo siguiente.

Figura 5. Ejecución de la consola

Page 5: Replicación de Base de Datos Utilizando MySQL

4.1 Una vez dentro de la consola haremos ping al ordenador que será el esclavo de la

replicación como se muestra en la imagen (Ver Figura 5.1 ).

Figura 5.1 Comprobación conexión entre el Maestro y el Esclavo.

4.2 Ahora tenemos que entrar a la terminal de MySQL (Ver Figura 5.2).

Figura 5.2 Ingreso a la terminal de MySQL.

4.3 Una vez dentro de la terminal de MySQL escribiremos el siguiente comando (Ver Figura

5.3)

4.4 Luego tecleamos el siguiente comando: flush privileges, con este le daremos todos los

privilegios al maestro para poder hacer dicha replica (Ver Figura 5.3).

4.5 Ahora lo que vamos hacer es mostrar las bases de datos con las que contamos para de

esta manera seleccionar a cual se hará la réplica.(Ver Figura 5.3).

Page 6: Replicación de Base de Datos Utilizando MySQL

Figura 5.3 Comandos para replicación.

5. Ahora bloqueremos las tablas de la base de datos que utilizaremos con el comando: flush

tables with read lock. (Ver Figura 5.3).

6. Con el siguiente comando show master status, mostraremos el nombre del archivo log bin

y su posición, ya que este nos servirá para configurar el esclavo (Ver Figura 6).

7. Y salimos de la terminal de MySQL. (Ver Figura 7).

Figura 6. Status del Maestro.

Con el comando (Ver Figura 7), lo que haremos es crear un respaldo de la base de datos que

utilizaremos (no es un BackUp). Una vez ya creado el archivo de respaldo (backgame.sql),

procedemos a buscarlo en la ruta C:\xampp\mysql\bin en este caso que se utilizó XAMPP.

Figura 7. Guardado de la Base de Datos.

Page 7: Replicación de Base de Datos Utilizando MySQL

8. Ingresamos nuevamente a la terminal de MySQL. (Ver Figura 9).

9. Ya realizada la copia de la base de datos desbloquearemos las tablas con el comando:

unlock tables. (Ver Figura 9).

10. Ahora pasamos a configurar el esclavo.

Figura 8. Carpeta Contenedora del archivo SQL.

Figura 9. Desbloqueo de Tablas.

Page 8: Replicación de Base de Datos Utilizando MySQL

Configuración del Servidor Esclavo

11. Desactivar todos los escudos del Antivirus y Firewall de Windows (Ver paso 1).

12. Modificar el archivo my.ini está en la ruta C:\xampp\mysql\bin. Abrimos el archivo para

modificarlo, colocando lo siguiente (Ver Figura 10).

Figura 10. Configuración del Esclavo.

13. Abrimos la consola de Windows (Ver paso 4).

14. Hacemos ping con la dirección IP (Ver Figura 11) del esclavo para comprobar que existía

conexión.

Figura 11. Comprobación de conexión entre el Mestro y el Esclavo.

Page 9: Replicación de Base de Datos Utilizando MySQL

15. Ahora debemos entrar a la terminal de MySQL (Ver Figura 12) .

Figura 12. Login en MYSQL.

16. Lo siguiente es crear una nueva base de datos con el mismo nombre de la base de datos

que tiene el maestro a la cual se le está trabajando la réplica (Ver Figura 13).

Figura 13. Creación y uso de la Base de Datos en el esclavo.

17. Una vez ya tengamos el backgame.sql en el disco “C:\” procedemos a obtener las tablas

que respaldamos en dicho archivo el cual hicimos en el maestro (Ver Figura 14), y luego

reiniciamos los servicios de MySQL (Ver paso 3).

Page 10: Replicación de Base de Datos Utilizando MySQL

Figura 14. Recuperación de la Base de Datos.

18. Entramos nuevamente a la terminal de MySQL y detenemos los servicios del esclavo y

luego hacemos login al servidor maestro (Ver Figura 16).

Figura 15. Detención de los servicios del esclavo.

Figura 16. Login con el Maestro.

Page 11: Replicación de Base de Datos Utilizando MySQL

19. Ahora iniciamos los servicios del esclavo

Figura 17. Iniciar los servicios del Esclavo.

Verificación de replicación

Servidor Maestro

Nos situamos en el ordenador al servidor maestro como sabemos este desbloqueo las

tablas de nuestra base de datos que se replicará.

Procederemos a insertar valores a una tabla de nuestra base de datos

Usamos un sentencia select para comprobar que se insertó los datos correctamente

Figura 18. Inserción de Datos en la Base de Datos.

Esclavo

Regresamos a la portátil que es esclavo y utilizamos una sentencia select para comprobar

que la inserción del maestro se realizó correctamente en el esclavo

Para comprobar que existe replica correctamente tecleamos el comando que nos indica si

la réplica se está realizando exitosamente : show slave status \G; si muestra un 0 está

funcionando correctamente de lo contrario mostrara NULL

Page 12: Replicación de Base de Datos Utilizando MySQL

Figura 19. Sentencia select.

Figura 20. Comprobación de la replicación.

La parte que indica que la replicación es llevada a cabo es : Seconds_Behind_Mater el cual debe

mostrar 0 en caso de éxito de replicación o en su caso contrario muestra NULL.