Replicacion Mysql

17
  Campus IxtepecBASE DE DATOS DISTRIBUIDAS PROFESOR: José Antonio León Borges ALUMNA: Yesenia Sánchez Alonso TRABAJO:  Reporte de activida des real izadas duran te el de sarrollo de l Sistema y la Base de Datos “ Hotel “. Yesenia sanz VI SEMESTRE GRUPO 608 Ciudad Ixtepec, Oaxaca a 24 de Septiembre del 2010

Transcript of Replicacion Mysql

Page 1: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 1/17

 

Campus Ixtepec  

BASE DE DATOS DISTRIBUIDAS

PROFESOR: José Antonio León Borges

ALUMNA: Yesenia Sánchez Alonso

TRABAJO:  Reporte de actividades realizadas durante el desarrollo del Sistema y la Base de Datos

“ Hotel “. 

Yesenia sanz

VI SEMESTRE

GRUPO 608

Ciudad Ixtepec, Oaxaca a 24 de Septiembre del 2010

Page 2: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 2/17

INTRODUCCIÓN

El Sistema Hotel permite la manipulación de los datos relevantes de un establecimiento hotelero, desde la

introducción de los datos de un hotel así como la modificación de dichos datos y el manejo de la

información necesaria para las reservaciones.

La elaboración de dicho sistema se inicia desde la creación de una base de datos y sus tablas

correspondientes en el manejador de base de datos MySql, continua con la programación de una interfaz

gráfica en el lenguaje de programación c#, la elaboración de la replicación de la base de datos y se

concluye con la prueba y corrección de errores.

El prototipo final del Sistema Hotel se describe en la siguiente imagen:

La replicación en MySQL le permite tener una copia exacta de una base de datos de un servidor maestro

en otro servidor (esclavo), y todas las actualizaciones de la base de datos en el servidor maestro se replican

inmediatamente a la base de datos en el servidor esclavo para que ambas bases de datos estén en sintonía.

En éste reporte se describe todas las actividades realizadas para la elaboración del sistema Hotel.

División Modular del Sistema Hotel

Hoteles Particulares Categorías

Info HabitacionesAgencias Habitaciones

Reservas

Agencias

Reservas

Particulares

Page 3: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 3/17

REQUISITOS PARA LA ELABORACIÓN DEL SISTEMA HOTEL

1.  Tener instalado el gestor de base de datos MySql 5.0.

2.  Tener instalado MySql Connector Net 5.0.

3.  Tener instalado Microsoft Visual Studio 2005. 

ACTIVIDADES REALIZADAS:

  Creación de la base de datos y las tablas correspondientes en el

gestor de base de datos mysql.

1.  Abrir el gestor de base de datos Mysql.

2.  Ejecutar las siguientes líneas de código que se muestra en las imágenes.

CREATE DATABASE -- Crea la base de datos.

CREATE TABLE -- Crea las tablas.

Page 4: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 4/17

 

Page 5: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 5/17

 

Page 6: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 6/17

  Creación del Sistema Hotel en Microsoft Visual Studio 2005. 

1.  Menú principal. El código de la programación de cada una de las ventanas viene anexo

en el CD, en el archivo HOTEL.sln. 

2.  Ventanas:

Page 7: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 7/17

 

Page 8: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 8/17

 

Page 9: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 9/17

3.  Reporte de búsqueda (por fecha) de Reservas:

Page 10: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 10/17

  Creación de Triggers. 

Se implementó en la base de datos cuatro disparadores que tienen como función la manipulación

del estado de un apartamento, es decir, el apartamento puede estar en estado disponible o no

disponible.

DELIMITER |

CREATE TRIGGER actualiza BEFORE UPDATE ON particulares_reservas

FOR EACH ROW BEGIN

UPDATE DETALLEH SET DISPONIBILIDAD = 1 WHERE HOTEL = OLD.HOTEL AND

HABITACION=OLD.HABITACION;

END

|

DELIMITER |

CREATE TRIGGER actualiza2 BEFORE UPDATE ON agencias_reservas

FOR EACH ROW BEGIN

UPDATE DETALLEH SET DISPONIBILIDAD = 1 WHERE HOTEL = OLD.HOTEL AND

HABITACION=OLD.HABITACION;

END

|

DELIMITER |

CREATE TRIGGER actualiza3 BEFORE DELETE ON particulares_reservas

FOR EACH ROW BEGIN

UPDATE DETALLEH SET DISPONIBILIDAD = 1 WHERE HOTEL = OLD.HOTEL AND

HABITACION=OLD.HABITACION;

END

|

Page 11: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 11/17

DELIMITER |

CREATE TRIGGER actualiza4 BEFORE DELETE ON agencias_reservas

FOR EACH ROW BEGIN

UPDATE DETALLEH SET DISPONIBILIDAD = 1 WHERE HOTEL = OLD.HOTEL AND

HABITACION=OLD.HABITACION;

END

|

  Replicación de la Base de Datos. 

Para la replicación se necesita:

 Mínimo 2 computadoras conectadas en red.  Tener instalado el gestor de base de datos MySql. 

 Tener permisos de ROOT. 

Empezamos Configurando el Maestro:

1.  Buscar y abrir el archivo my.ini.

Se encuentra en: C:\Program Files (x86)\MySQL\MySQL Server 5.0.

2.  Agregar después de la línea [mysqld] lo siguiente:

Nota: El servidor-id en el maestro siempre será 1.

Page 12: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 12/17

3.  Entramos a los servicios y reiniciamos el servicio de Mysql.

Se encuentra en: Panel de control\Sistema y seguridad\Herramientas

administrativas.

Page 13: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 13/17

4.  Ahora en el Query Browser de mysql escribir:

GRANT REPLICATION SLAVE ON *.* TO ‘SLAVE1’@’%’ IDENTIFIED BY

‘password’; 

FLUSH PRIVILEGES;

Nota:

En password se pone la contraseña que se desee poner al master; SLAVE1 indica

que se está agregando el primer esclavo, es decir, el primer usuario será en éste

caso SLAVE1, si se desea agregar un segundo esclavo será SLAVE2 y así 

sucesivamente.

5.  Una vez esto seleccione la base de datos a replicar, realice lo siguiente:

USE nombre_base_datos;

FLUSH TABLES WITH READ LOCK;

SHOW MASTER STATUS;

Después de esto el gestor mostrará lo siguiente:

Page 14: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 14/17

6.  Finalmente desbloqueamos las tablas de la base de datos.

UNLOCK TABLES;

Ahora vamos a Configurar el Esclavo:

1.  Como primer paso hay que crear la misma base de datos con sus respectivastablas, que queremos replicar.

2.  Buscamos el archivo my.ini y después del [msqld] agregamos lo siguiente:

server-id=2

master-host=dirección ip del maestro

master-user=slave1

master-password=password

master-connect-retry=60replicate-do-db=nombre_base_datos

Page 15: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 15/17

3.  Reiniciar el servicio de MySql.

4.  Entramos al Query Browser de MySql y detenemos el esclavo.

5.  Una vez que se detuvo el esclavo escribimos lo siguiente con el fin deactualizar la tabla que utiliza el esclavo para replicar.

CHANGE MASTER TO MASTER_HOST=’ip_del_master’,

MASTER_USER=’SLAVE1’, 

MASTER_PASSWORD=’clave_del_master’, 

MASTER_LOG_FILE=’mysql- bin.000002’, MASTER_LOG_POS=98;

Nota:

En MASTER_LOG_FILE y MASTER_LOG_POS se pone tal y como se marca

cuando ejecutamos SHOW MASTER STATUS en el paso 5 de la configuración

del master.

6.  Finalmente escribimos START SLAVE.

Page 16: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 16/17

Ahora el esclavo comenzará la replicación con el maestro. Para comprobar que realmente está

replicando, tendremos que ejecutar el siguiente comando en el Query Browser de MySql.

SHOW SLAVE STATUS;

Eso muestra:

En el master vamos a insertar datos desde el Sistema Hotel creado en Microsoft Visual Studio

2005 y en el esclavo hacemos una consulta desde el mismo sistema para verificar que todo salió

bien, en caso contrario hay que verificar los pasos.

Con esto damos por terminado las actividades realizadas para el Sistema Hotel.

Page 17: Replicacion Mysql

5/16/2018 Replicacion Mysql - slidepdf.com

http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 17/17

CONCLUSIÓN

En conclusión podemos decir que una base de datos replicada puede ser utilizada con el objetivo

de garantizar que, incluso si el servidor principal falla, la copia de seguridad puede hacerse cargo

de sus funciones. La replicación en MySQL permitirá tener una copia exacta de la base de datos de un

servidor maestro en otro servidor (esclavo), y todas las actualizaciones de la base de datos en el servidor

maestro se replican inmediatamente a la base de datos del servidor esclavo para que ambas bases de datos

estén en sintonía.

También podemos concluir que al realizar un sistema podemos encontrarnos con la necesidad de crear

disparadores para el buen funcionamiento de ciertos eventos que puedan ocurrir como en el caso de las

reservaciones. Cada habitación tiene dos estados el cual puede ser que este en el estado disponible o en el

no disponible; al hacer una reservación el estado de la habitación pasa de ser disponible al no disponible

para que al dar de alta otra reserva solo muestre las habitaciones disponibles.

El realizar un sistema como lo es el de Hotel requiere de un manejador como el de MySql con el fin de

almacenar una gran cantidad de información y llevar a cabo la manipulación de dicha información para

esto es necesario conocer un sinfín de comandos que nos permita realizar operaciones sobre los datos de

manera eficiente.