¿Tienes una cuenta? identificate: Usuario Contraseña o puedes obtener una gratis.

ToRo Blog

jojojo

jueves 05 de abril, 2007 - 13:57

Replicar base de datos MySQL

El problema es que no puedo darme el lujo de perder ni un bit de información de la página del Siglo, por lo cual me dí a la tarea de replicar la base de datos.

El primer esquema que utilicé fue hacer backup 2 veces al día de toda la base de datos, un tar -jcvf file.tar.bz2 /var/lib/mysql@ y descargarlo con script en una pc local:

#!/bin/sh
wget -q -c http://www.elsiglodetorreon.com.mx/dump/siglon -O /d2/BackupDB/Internet_db_`date +%Y%m%d_01`.tar.bz2

El segundo esquema fue precisamente utilizar las capacidades de replicación de el mismo manejador de base de datos: MySQL.

1. Hacemos un backup de la DB, copiando vilmente los archivos del servidor maestro que estén en /var/lib/mysql o donde tengan sus bases de datos (por lo general las distribuciones modernas de Linux las ponen allí) al servidor esclavo.

2. Añadimos el parámetro server-id=2,@ en el servidor esclavo, damos de baja el motor de base de datos, copiamos los archivos del maestro en /var/lib/mysql e iniciamos de nuevo MySQL.

3. En el servidor maestro, añadimos en la sección [mysqld]@

log-bin=mysql-bin
server-id=1

4. En el servidor maestro damos permisos de replicación al esclavo

GRANT REPLICATION SLAVE ON *.* TO "slave"@"host" IDENTIFIED BY 'slaveabdul';

5. Reiniciamos el servidor maestro, aqui es importante que si estaba en producción lo dejemos offline un rato en lo que hacemos la sincronización.

6. En el servidor maestro visualizamos el estado del servidor:


mysql> SHOW MASTER STATUS\G

File: mysql-bin.000001 Position: 4 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.00 sec)

7. Apuntamos esos datos y en el esclavo ejecutamos lo siguiente (teniendo cuidado de poner el mismo usuario y password, además del log file y de la posición):

CHANGE MASTER TO MASTER_HOST='ip-maestro', 
   MASTER_USER='slave', MASTER_PASSWORD='slaveabdul',
   MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=4;

8. En el esclavo ejecutamos:

START SLAVE

Y ya, ahora tenemos los mismos datos en uno como en otro host… por lo que llevo viendo mantiene sincronizado todo el tiempo, aunque se perdiera el enlace del esclavo con el maestro en cuanto tuvieran de nuevo comunicación se sincronizarían. Esta sincronización se hace a nivel de log binario, por lo cual es rápido y consistente, además de que en mi caso en lugar de respaldar 1.2 GB diarios de datos ahora recibo las actualizaciones de la base de dato de manera constante y no me acabo el ancho de banda local, además de que solo se transfieren los cambios y no toda(s) la(s) base(s) de datos.

MySQL rocks.


Ganamos:

  1. Menos uso de ancho de banda
  2. Sincronización de datos
  1. Backup en diferentes lugares (inclusive paises) sin mayor problema

Almacenado en Tecnología, Trabajo [ Enlace | 4 comentarios ] del.icio.us del.icio.us Estrella este post *****
comparte esto
Comparte esta entrada (del.icio.us, por correo, etc) o agrega este blog a tu Google Reader.

Entradas relacionadas:
  1. Optimizando MySQL
  2. MySQL 4.1
  3. PHP5 y extensión MySQLi
  4. ACT (de APT)
  5. Monitoreando consultas en MySQL
  6. ymipollo.com con UTF-8
  7. Quema del libro en Chapingo
  8. error en ymipollo.com
  9. Cartas del Presidente
  10. Archivo fotográfico
  11. Soy un imbécil.
  12. Nueva página, El Siglo de Torreón v3.
  13. Vacaciones
  14. Apuntes de curso de Oracle 7
  15. Cuestion de finanzas

Han escrito 4 comentarios de «Replicar base de datos MySQL»

sin foto neo
Viernes 06 de abril, 2007 21:20.

¿Y puedes creer que con todas esas ventajas no me dejaron implementar una base de datos con soporte de replicacion en una chamba anterior?

Preferian mantener copiando cientos de gigabytes diariamente en formato de tablas de dbase a comenzar a implementar un sgbd…

¡¡¡Y que conste que con MySQL no hay costo y además se puede instalar en Netware!!! que es el sistema de red que utilizan.

Simplemente no entiendo. Cosas que se encuentra uno :P

(anonimo)DANILO
Lunes 14 de mayo, 2007 17:28. [usuario no registrado en ymipollo.com]

Buenas
Por favor quisiera qaue me ayuden con una duda
lo que sucede es que tengo un trabajo en el cual necesito replicar bases de datos tanto en sql, my sql a oracle y no se como realizarlo

por favor agradeceria mucho su ayuda
favor enviarme cualquier informacion a daradex hotmail.com
muchas gracias su ayuda

(anonimo)devilsoulblack
Martes 29 de mayo, 2007 09:21. [usuario no registrado en ymipollo.com]

tanto en el maestro como en el esclavo deben tener la misma version de mysql ?

foto ToRo
Martes 29 de mayo, 2007 09:22.

No necesariamente devilsoulblack, pero se recomienda ampliamente. Además me parece que esto solo funciona desde las versiones 4 en adelante.

Si usted tiene una cuenta en ymipollo.com, identifíquese:
Usuario: Password: (recordar identificación en este blog)
De lo contrario, escriba sus datos (todos los campos son obligatorios.):
Nombre: Correo E.:
Blog/Web: recordar datos.
[ si eres visitante puedes obtener tus comentarios con foto suscribiendote a gravatar. Tenga en cuenta que como usuario anónimo, su dirección IP será almacenada y mostrada al dueño de la entrada en cada comentario. ]
Escriba su comentario:
Por favor escriba respecto al post, procure revisar su ortografía. Si su comentario no es respecto al tema, por favor no lo haga.

Usted escribirá este mensaje como:
Es posible que su comentario no aparezca de forma inmediata (o que nunca aparezca) eso depende de la decisión del autor de este blog.

suscribirse a este post.

JORGE MARTÍNEZ MAURICIO

Esta entrada fue escrita el jueves 05 de abr de 2007 a las 13:57, almacenada en Tecnología, Trabajo. El permiso para esta entrada es PUBLICO (4 comentario/s).

Mi estado de ánimo en ese momento fue Feliz. Puedes seguir esta entrada mediante RSS 2.0 o bien dejar algún comentario.


Otras secciones

Lo más reciente
Acerca de mi
Galería de Imágenes
Lo más visto
Amigos
Todos mis posts

Ymipollo.com

Lectura obligada

Gabriela
Mi blog del trabajo

Monos de Patricio
El chamuco virtual
Sensacional de Derechos Humanos

Linuxman
Munoz
Neo
RIVE
Ciscas
Minid


2,157 visitas » Diseño basado en I-HAEV-STYEL re-modificado por minid.