Sei sulla pagina 1di 6

Materia: Redes de computadoras III. Profesor: Arturo Elas Ramrez. Proyecto: Arquitectura Multicapa. Alumno: Gabriel Rodrguez Mora.

Fecha de entrega: 17/12/2013 7A I.S.C.

Bitcora personal. Bueno en lo personal me toco la configuracin de los servidores maestro/esclavo y la creacin de la base de datos, de lo cual recib apoyo de mis compaeros y yo los apoye en la configuracin del servidor maestro ya que llegbamos a un punto y ya no sabamos cmo continuar, mientras que uno investigaba, otro le mova o intentaba configurar los servidores primero comenzamos por intentar hacer la replicacin en Windows pero tuvimos varios problemas con la conexin de maestro-esclavo, de lo cual no hay la suficiente informacin en internet de como configurar los servicios, o mejor dicho de cmo solucionar errores en cuanto a la replicacin. Por lo que se decidi trabajar con Ubuntu. Aunque tuvimos los mismos problemas con la conexin, adems de que no nos replicaba los cambios efectuados en la base de datos dentro del esclavo debido a la conexin ya que en todo tipo de comunicacin cliente servidor o en este caso maestro esclavo sin una conexin bien hecha no se lograra. Lo que hice para configurar el servidor esclavo fue lo siguiente, de lo cual no fue tan difcil, lo difcil fue lograr la conexin ya que tenamos montado el master en una mquina virtual y nos mandaba error de conexin pero el problema se resolvi al montar Ubuntu en una maquina real o nativa, ya que la mquina virtual nos mandaba otra ip diferente a la que se haba configurado en el router (192.168.1.72) y la verdad no pudimos configurar esa ip dentro de la mquina virtual ya que era Mac donde queramos poner el maestro , pero al poner nativo el sistema operativo en otra pc resolvimos el problema de conexin. Despus de investigar varios tutorial lo que se hiso para lograr la configuracin del servidor maestro/ esclavo fue lo siguiente. Primero se debe de configurar el servidor maestro esto para que almacene el log binario y as poder asignar un identificador, esto para que la informacin est disponible en el registro de las actualizaciones, ya que el log binario contiene todas las sentencias de las actualizaciones que hemos realizado dentro de nuestra base de datos. Lo primero que se hizo siguiendo los pasos de los tutoriales fue editar el archivo de configuracin my.cnf con privilegios de root; para esto, abrimos la terminal y escribiremos lo siguiente . sudo gedit /etc/mysql/my.cnf Y ponemos los siguientes atributos para el master. server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 log-bin=mysql-bin binlog-do-db=biblioteca//base de datos que usaremos. Vamos por partes: El id del server, para definir un master, debe ser 1. Por eso indicamos que server-id=1. innodb_flush_log_at_trx_commit=1 y sync_binlog=1 son dos atributos que colocamos en este caso ya que decidimos que el master debera tener como motor de almacenamiento el InnoDB. log-bin debe indicar en que archivo se escribir el log del mster como ya se mencionaba al inicio. En este caso, utilizamos el mismo que utiliza MySQL. binlog-do-db=biblioteca , indica al maestro sobre qu base de datos debe guardar la actividad.

Reiniciamos el servidor MySQL con la sentencia siguiente: sudo /etc/init.d/mysql restart Accedemos a la consola de MySQL, como root. mysql -u root -p Dentro crearemos un usuario esclavo para que pueda ponerse en contacto con nuestro maestro y retendremos informacin del estado del maestro para establecer un punto de inicio antes de comenzar con la replicacin con el esclavo. GRANT REPLICATION SLAVE ON *.* TO 'gabriel'@'192.168.1.72' IDENTIFIED BY 'hola'; FLUSH PRIVILEGES; USE biblioteca; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS; // si se ejecuta correctamente los comandos nos debe de mostrar una tabla como la siguiente. +----------------------------+------------+----------------------+---------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +---------------------------+-------------+----------------------+---------------------------+ | mysql-bin.000007 | 98 | biblioteca | | +----------------------------+------------+----------------------+---------------------------+ UNLOCK TABLES; Ya si se quieren ms esclavos, tendremos que darles permisos a cada uno de ellos, con la lnea descrita GRANT REPLICATION SLAVE ON *.* TO frausto@'192.168.1.72 IDENTIFIED BY hola; . Ya terminada la configuracin del servidor maestro salimos con la sentencia exit; y continuamos con la configuracin del esclavo. Empesamos con la configuracin del esclavo en una nueva mquina virtual (Ubuntu ). Accedemos, como hemos comentado antes, al archivo my.cnf para configurar en la nueva mquina virtual el esclavo, esto se puede hacer tambin con maquina real o nativa pero como en el esclavo si nos permiti la conexin con la ip designada por el router as lo dejamos. sudo gedit /etc/mysql/my.cnf Para la configuracin ejecutamos los siguientes comandos. server-id=2 master-host = 192.168.1.72//designada en tplink master-user = gabriel master-password = hola master-port= 3306//el puerto que nos designa el servidor maestro ya que ser nuestra gua de comunicacin, el puerto se puede modificar. replicate-do-db=biblioteca

Ya para cerciorarme de que la replicacin en el servidor esclavo se inici bien ejecute START SLAVE; y nos mostr el siguiente mensaje de conexin realizada con el maestro. 080609 8:47:02 [Note] Slave I/O thread: connected to master root@192.168.1.72:3306, replication started in log mysql-bin.000001 at position 98 Despus reiniciamos el servidor mysql. sudo /etc/init.d/mysql restart Accedemos a la consola de mysql como root: mysql -u root -p Checamos el estado y configuracin del esclavo. SHOW SLAVE STATUS \G; Y a continuacin, nos aparece lo siguiente o debera de aparecer: *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.1.72 Master_User: usuarioslave Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000002 Read_Master_Log_Pos: 98// posicion del maestro que nos mostr al inicio. Relay_Log_File: mysqld-relay-bin.000021 Relay_Log_Pos: 235 Relay_Master_Log_File: mysql-bin.000002 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: biblioteca Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 98 Relay_Log_Space: 235 Until_Condition: None Until_Log_File: Until_Log_Pos: 0

Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 1 row in set (0.00 sec) Y en si nos debe de mostrar algo parecido a lo anterior si no debemos empezar de nuevo ya que eso fue lo que haca ante cada error. La base de datos que utilizamos fue la siguiente. La cual contiene todos las tablas necesarias para la administracin de un biblioteca, en si la base de datos no fue de gran problema ya que solo fue crear las tabla necesaria y agregar los campos necesarios a cada una como id, fechas, nombre etc. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | biblioteca | | mysql | | pelicula2 | | peliculas | | performance_schema | | restaurant | | revista | | revistas | | test | +--------------------+ 11 rows in set (0.14 sec) mysql> use biblioteca; Database changed mysql> show tables ; +----------------------+ | Tables_in_biblioteca | +----------------------+ | autor | | direccion |

| editorial | | genero | | libro | | pertenece | | prestamo | | tiene | | usuario | | veditorial | | vfact | | vinfolibro | | vinfouser | | vstatuslibro | +----------------------+