Upload
yesisa
View
194
Download
0
Embed Size (px)
Citation preview
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
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
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.
5/16/2018 Replicacion Mysql - slidepdf.com
http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 4/17
5/16/2018 Replicacion Mysql - slidepdf.com
http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 5/17
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:
5/16/2018 Replicacion Mysql - slidepdf.com
http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 7/17
5/16/2018 Replicacion Mysql - slidepdf.com
http://slidepdf.com/reader/full/replicacion-mysql-55b077f5ac7a8 8/17
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:
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
|
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.
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.
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:
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
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.
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.
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.