base de datos distribuida linux - windows

18
AIEP DE LA UNIVERSIDAD ANDRES BELLO Ingeniería (E) Informática MANTENCION Y PRUEBAS DE SISTEMAS INFORME DE BB.DD DISTRIBUIDA AIEP Patricio Carvajal

Transcript of base de datos distribuida linux - windows

Page 1: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO Ingeniería (E) Informática MANTENCION Y PRUEBAS DE SISTEMAS

INFORME DE BB.DD DISTRIBUIDA

AIEP

Patricio Carvajal

Curico, Octubre 2011

Page 2: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

INDICE

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

1

Page 3: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

OBJETIVOS

El objetivo de este informe es aprender de que manera y forma funcionan las BB.DD distribuidas en distintas plataformas, en este caso Microsoft Windows y Linux. Teniendo como medio a un software ya desarrollado en Adobe Flex 3 y generando las conexiones pertinentes y modificaciones en dos bases de datos iguales pero en diferentes plataformas. El objetivo principal es que los cambios hechos en una BB.DD se repliquen de forma exacta en la otra base de datos de otra plataforma.

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

2

Page 4: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

PROCEDIMIENTOSRedireccionamiento

Primeramente como parte de los objetivos del proyecto es generar un documento HTML plano para que llame a dos aplicaciones distintas (tareaflex y FlickrGrilla). Se usa un script sencillo de Java para indicarle donde están las dos aplicaciones.

Vista navegador

Vista aplicación

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

3

Page 5: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

Conexión Aplicación con BD remota en Maquina Virtual

Para que la aplicación en Flex funcione con la base de datos maestra, que en este caso esta ubicada en la maquina Virtualizada Linux sobre plataforma Microsoft Windows usando la aplicación VMware, se tiene que editar la conexión en la aplicación.

El archivo a editar es:Conexionconn.php (en el proyecto Flex)

En este archivo se indica la dirección IP en donde esta alojada la BD y el usuario que la conectara, en este caso un nuevo usuario “root”.

NOTA: Muy importante es desbloquear el puerto 3306 del enrutador ya que por este puerto es la comunicación mysql – mysql, la forma de hacerlo varia según el aparato y conexión, si este puerto no esta abierto la base de datos replica no podrá comunicarse con la base de datos maestra.

Ahora vamos a crear el usuario “root” en la maquina donde esta la base de datos maestra _____________________________________________________________________

“Informe de BB.DD Distribuida”AIEP 2011

4

Page 6: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

(Linux - VMware) En consola entramos a MYSQL con:mysql –u root –p

y creamos el usuario que podrá conectarse únicamente con el esclavo especificando la IP del esclavo(192.168.0.2) y la base de datos a usar(registroflex).

Con estos pasos ya la aplicación podría estar haciendo cambios en la base de datos maestra (Linux – Vmware).

Replicación Base de Datos Maestro – Esclavo (MAESTRO)

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

5

Page 7: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

Configuración Maquinas y BD.

Linux (VMware)IP = 192.168.0.2BD = registroflex (maestra)

Microsoft WindowsIP = 192.168.0.3BD = registroflex (esclavo – replica)

Primero hacer cambios en el archivo de configuración de mysql (Linux) para esto en la consola.

Se abrirá un archivo de texto plano con la configuración global de MySQL, aca tenemos que ubicar la siguiente línea:

Y comentarla con un # como sale en la imagen para MySQL pueda escuchar los comandos de la red.

Después buscamos en el mismo documento la etiqueta “[mysqld]” y bajo esta ponemos las siguientes configuraciones

Donde:log-bin = ruta donde se guardan los logs .server-id= numero de servidor en este caso 1 por que va a ser el maestro.replicate-do-db=nombre de la base de datos a replicar.binlog-do-db=nombre a buscar en log.

Después guardar y cerrar el archivo.Y parar el servicio mysql en consola con

Seguidamente iniciar

Ahora necesitamos crear un usuario en el servidor maestro para que el esclavo pueda replicar con los permisos necesarios. Para eso entramos a mysql en la maquina Linux con_____________________________________________________________________

“Informe de BB.DD Distribuida”AIEP 2011

6

Page 8: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

mysql –u root –p

luego creamos el usuario slave(esclavo)

Donde:*.*=reglas se aplican a cualquier base de datos existenteSlave= Nombre de usuario que hara la replica%= acepta cualquier petición externasoulseek= password de slave

Y refrescamos los privilegios de los usuarios creados con:FLUSH PRIVILEGES;

Ahora haremos una copia exacta de la base de datos maestra.Para eso especificamos la BD a trabajar con:USE registroflex;

Bloqueamos las tablas para que durante el proceso no se haga ningún cambio con:FLUSH TABLES WITH READ LOCK;

Y mostramos el estado de la tabla maestro en el log creado al principio con:SHOW MASTER STATUS;

Acá anotaremos los datos de las dos primeras columnas que nos serán útil para configurar el maestro.(nombre del archivo log y la posición del registro dentro del log) y salimos de mysql con:Exit

Ahora extraemos el archivo .SQL para trasladarlo al esclavo con:

mysqldump -u root -p --opt registroflex > registroflex.sql

Donde:registroflex = base de datos a replicarregistroflex.sql = nombre de archivo a generar.

Ahora desbloqueamos las tablas antes bloqueadas.En la consola entramos a mysql con:

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

7

Page 9: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

mysql –u root –p

y desbloqueamos las tablas con:UNLOCK TABLES;

Replicación Base de Datos Maestro – Esclavo (ESCLAVO)

Ahora en la plataforma esclavo (Microsoft Windows) entramos en consola y entramos a mysql con:

Mysql –u root –p

Y creamos la base de datos a replicar, debe tener el mismo nombre de la base de datos a replicar en el maestro. La creamos con:

create database registroflex;

y luego vaciamos la información de la base datos maestra con:

mysql -u root -p registroflex < registroflex.sql

Suponiendo que el archivo esta en la raíz C:

Ahora editaremos el archivo de configuración MySQL(my.ini) de Windows que en este caso se encuentra en la ruta:

Abrimos el archivo con bloc de notas y editamos buscando la etiqueta [mysqld], debajo de la etiqueta ponemos lo siguiente:

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

8

Page 10: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

Donde:Server-id = numero de servidor en este caso 2 por que el master es 1replicate-do-db= replicar a BD en este caso “registroflex”

Guardamos, cerramos y reiniciamos el servicio mysql en las herramientas administrativas de Microsoft Windows.

Vamos a la consola de Windows y entramos a mysql con:mysql –u root-p

y paramos el esclavo con:

SLAVE STOP;

Ahora configuraremos los datos del master en el esclavo Windows con:

Donde:MASTER_HOST=IP del Master (Linux VMware)MASTER_USER=Nombre de usuario creado para replica en Master (slave)MASTER_PASSWORD=Contraseña de ese usuarioMASTER_LOG_FILE= nombre del archivo BIN anotado en el master (resultado del comando SHOW MASTER STATUS;)MASTER_LOG_POS=Posición en el log para empezar la réplica, anotado en el master (resultado de SHOW MASTER STATUS;)

Luego de eso iniciamos el esclavo con:

START SLAVE;

Y debería ya funcionar la replicación.

Replicación Base de Datos Maestro – Esclavo (PRUEBAS)

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

9

Page 11: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

Primero haremos una prueba en modo consola, el dato va a ser ingresado sin validación alguna, y es solo para probar que la replicación existe, funciona y esta activa.

Para eso ingresaremos una fila de datos en el master y en el slave haremos una consulta por la tabla modificada, obteniendo el siguiente resultado.

El dato ingresado se replico casi instantáneamente en el esclavo, sin ocasionar ningún tipo de inconveniente ni mensajes de error.

Ahora haremos una prueba desde la aplicación, generando un registro desde la aplicación y viendo los resultados desde el master y el slave. Para eso:

Resultado en la grilla

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

10

Page 12: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

Resultado de consultas en ambas BD

CONCLUSIONES

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

11

Page 13: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

La replicación se hizo correctamente y sin complicaciones, la configuración hecha en este informe es básica y funcional, se pueden ajustar parámetros extras aparte de los vistos aca, como tiempo de retardo de réplica, mas usuarios esclavos etc. La aplicación comun de este tipo de BD distribuida seria en respaldos de información en servidores externos para una determinada BD o más.

BIBLIOGRAFIA

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

12

Page 14: base de datos distribuida linux - windows

AIEP DE LA UNIVERSIDAD ANDRES BELLO INGENIERIA (E) INFORMATICA MANTENCION Y PRUEBA DE SISTEMAS

______________________________________________________________________________________

MySQLht tp: / /dev.mysql .com/doc/refman/5.0/es/ repl icat ion-howto.html

_____________________________________________________________________“Informe de BB.DD Distribuida”

AIEP 2011

13