Está en la página 1de 19

UNIVERSIDAD POLITECNICA DEL VALLE DE MEXICO

INGENIERIA EN INFORMATICA

MATERIA: BASES DE DATOS DISTRIBUIDAS

REPLICACION DE BASE DE DATOS

ALUMNOS: GARITA RICO DONOVAN IVN 1310100084 SANTIAGO ROSAS JOACIM 1310100087

GRUPO: 110602

TULTITLAN ESTADO DE MXICO A 20 DE JULIO DEL 2012

Configuracion Master
Lo primero que se debe de realizar es verificar que haya conectividad en las dos computadoras.Entaremos ala linea de comandos de windows presionando windows+r y escribiremos cmd en la ventana que aparesca. Se verificara la conectividad esto se hace mediante el comando ping seguido de la dirccion ip de la otra computadora. Se ingresaa sql por medio del comando mysql u root p, despues se ingresa la contrasea de root o del usuario que hallas seleccionado

Buscaremos el archivo mi.ini que se encuentra en c:\ > appserv > mysql

Agregamos la informacin como se muestra en la imagen es asi como debe de quedar el apartado de servidor (server section). SERVER SECTION # ---------------------------------------------------------------------# # The following options will be read by the MySQL Server. Make sure that # you have installed the server correctly (see above) so it reads this # file. # [mysqld] log-bin=mysql-bin server-id = 1 # The TCP/IP Port the MySQL Server will listen on port=3306 socket = /tmp/mysql.sock skip-locking key_buffer = 384M max_allowed_packet = 1M table_cache = 512 sort_buffer_size = 2M read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 64M thread_cache_size = 8 query_cache_size = 32M server-id=1 #log-bin=mysql-bin.log binlog-do-db=nombre_base_replicar replicate_do_db=nombre_base_replicar expire_logs_days=10 max_binlog_size=100m # Try number of CPU's*2 for thread_concurrency thread_concurrency = 8

Tenemos que reiniciar mysql para esto tenemos que ir a panel de control > herramientas administrativas > servicios > mysql

Un la ventana de comandos de Windows entraremos al mysql antes ya definido y se introducir este comando: grant replication slave on *.* to nombre_esclavo @ip_esclavo identified by contrasea del esclavo

Se le darn privilegios al master con flush privileges;

Debemos saber que tablas tenemos para elegir una d ellas a replicar. En mysql se ingresara show databases; este nos ayuda a saber que bases tenemos realizadas en este que es el master

Se puede observas cuantas tablas tiene el servidor y de ah se tomara una que en este caso ser agenda.

Seleccionaremos que base utilizaremos por medio del comando use base_elegida en este caso queda de esta manera: use agenda; No mandara un texto diciendo que la base ha sido cambiada de aqu en adelante todas las consultas y modificaciones que se agan se vern reflejadas en esta tabla.

Despus veremos las tablas de esa base de datos por medio del comando show tables;

Para ver el contenido de esta tabla se realiza un select el comando es el siguiente select * from tabla_para_mostrar; en nuestro caso queda de la siguiente manera select * from registro;

Se introduce el comando flush tables with read lock;

Algo muy importante es ubicar que direccin tiene la tabla en el master esto lo realizaremos de esta manera. Dentro de mysql escribiremos show master status; La informacin puede variar, pero es importante que los datos que salgan como es el file y la position se guarden por que ms adelante se utilizaran y si se tiene un error no se podr replicar la base de datos.

Se saldr de mysql y en la lnea de comandos aremos el resplado de nuestra base de datos de esta manera: mysqldump u root p -opt agenda > respaldo1.sql

Se desbloquearan las tablas para esto una ves mas entraremos al mysql y se escribir el comando: unlock tables;

Importante
El archivo que se cre en el master con el nombre respaldo1.sql que tiene una ubicacin en C:\Users\JOACIM (esto puede variar dependiendo el sistema operativo) debe ser pasado por medio de un dispositivo extrable a la computadora del esclavo y ser guardado directamente en c:\

Configuracin Esclavo.
Se entra al cmd con la combinacin de teclas windows+r, una vez en esta ventana tecleamos el comando ping y la direccion del Master que en este caso es 192.168.1.1 para confirmar que la conectividad entre Slave y Master es correcta y se cierra el cmd.

Se entra a MySQL por medio del comando mysql -u nombre_usuario -p , se da enter y se escribe la contrasea de ese usuario, el sistema confirma abajo que se ha ingresado a MySQL, una vez en adentro se pone el comando: create database nombre_base_datos;

Despus se entra a la unidad (C:) y se copia directamente el archivo generado en el master con en este caso con el nombre respaldo1.sql por medio de unidad USB.

Una vez copiado el archivo entramos de nueva cuenta al cmd y ejecutamos el siguiente comando mysql -u nombre_usuario -p

nombre_base_datos < C:\nombre_archivo_respaldo como se muestra en el ejemplo y se introduce la comtrasela del usuario.

Una vez hecho lo anterior cerramos el cmd y accedemos a la siguiente direcion C:\AppServ\MySQL desde nuestro ordenador para acceder al archivo llamado my-huge.ini para modificar el contenido del archivo de la siguiente manera, ubicando la linea #The MySQL server, despues se agrega lo siguiente: server-id=2 master-host=192.168.1.1 (ip_master) master_user=esclavo1 master-password=12345678 (contrasea que se implement en el esclavo) master-connect-retry=60 replicate-do-db=agenda (base_replicar) Se guardan los cambios en el archivo y se cierra.

Despus se accede a la siguiente direccin Control Panel\All Control Panel Items\Administrative Tools y se selecciona el apartado de servicios.

Ya en la ventana de servicios del sistema se reinicia el servicio de MySQL.

Se espera a que cargue la aplicacion y volvemos a abrir el cmd.

Una vez que se reinicia el sistema volvemos a abrir el cmd y entramos a MySQL por medio del comando mysql -u nombre_usuario -p , se da enter y se escribe la contrasea de ese usuario

Ya que entramos a MySQL y ponemos el comando stop Slave; , se espera la respuesta y se se configura lo siguiente: change master tomaster_host='direccion_master',master_user='nombre_master', master _password='Contrasea_master',master_log_file='mysql=Numero_b in',master:log:pos=posicion_localizacion; Despus de la confirmacin de la lnea anterior se pone el comando: start slave; y se cierra la terminal.

Altas en el Master.
Dentro de mysql daremos de alta un archivo para comprobar si se ha replicado con xito esta tabla, una vez mas se elegir la tabla agenda con el comando use agenda; Despus ingresaremos un dato con el comando insert into tabla_seleccionada values (datos,ingresar); (si el dato es d carcter int no se le pondrn apostrofes)

Para observar si los cambios han sido exitosos una vez ms introduciremos el comando

Select * from registro; y veremos que se ha ingresado correctamente

Ahora iremos al esclavo para ver si la alta tambin se realiz con xito

Esclavo

Revisin del nuevo registro ingresado. Entramos a MySQL por medio del comando mysql -u nombre_usuario -p , se da enter y se escribe la contrasea de ese usuario.

Despus se introduce el comando: show databases; para ver las bases de datos que tiene el esclavo, aqu debe aparecer la base que se ah replicado.

Se seleccionara la tabla replicada en este caso agenda

Despus se selecciona la base que se replic con el comando use nombre_base_datos; , despus se usa el comando show tables; para ver las tablas que tenemos en la base de datos.

Luego por medio de un select a se visualiza la informacin contenida en la tabla de la siguiente manera: select * from nombre_tabla;

Con esto se comprueba que la base de datos esta replicada y tiene conexin exitosa con el servidor. xito.

Cualquier duda o aclaracin de este manual favor de comunicarse a los siguientes correos: fullminaen99Dh@hotmail.com drakjoszzeuzz@hotmail.com

También podría gustarte