Lo más leido
» Problemas al instalar Internet Explorer 7 (29977)» Historía de los Computadores (21777)
» Guión bajo o normal en las URL (19622)
» Comprimir y Descomprimir en Linux (16611)
» Sistema de Inventario (15396)
» Tipos de Portales (15158)
» mysqldump (13185)
» Actualizar datos en MySql con PHP (12612)
» Paleta de Colores (11653)
» Comandos Básicos en Linux (11168)
Registro
Demo: Sistema de Inventario
Sistema de Inventario DesarrollandoWeb.com
Descripción General: El sistema permite manejar todo el inventario de la compañía, esto significa que el sistema permite gestionar todo lo relacionado con proveedores, productos, categorías de productos, usuarios, solicitudes y proyectos. El sistema permite conocer en tiempo real el sistema actual de los productos que se encuentra en bodega, que productos tiene ordenes de pedido pendientes, que... [+ info] |
E-Marketing Rápido
Replicación en MySql Maestro – Esclavo |
| Escrito por: Andrés Villanueva Manjarres | |||
|
El presente artículo busca ser una guía para todos los desarrolladores o administradoresque necesitan configurar Antes de comentar el proceso de configuración mencionaré algunos puntos que deben ser tenidos en cuenta para la implementación la replicación en MySql.
En resumen lo que se debe hacer cuando se pretende montar una arquitectura Maestro – esclavo es crear una conexión abierta en el maestro para el esclavo o cada uno de los esclavos. Por medio de esa conexión abierta los esclavos leen los cambios realizados en el maestro y actualizan sus datos. Por medio del archivo (log-binario) que escribe el maestro y leen los esclavos, estos se actualizan ejecutan dichos cambios en sus tablas. Por medio de este log binario los esclavos siempre saben en qué punto de actualización se encuentran. Como ya hemos mencionado, para poder montar una arquitectura Maestro – Esclavo den MySql se deben tener por lo menos dos instancias de MySql, una será maestro y la otra actuará como esclavo, la instancia del esclavo será la réplica del maestro. Una vez mencionados estos puntos ahora si manos a la obra. Paso 1. El primer paso que debemos seguir es configurar los archivos de configuración de MySql tanto en el Maestro como en el esclavo. En el maestro: 192.168.0.1 # vi /etc/my.cnfY en el archivo my.cnf del maestro debemos tener algo así: [mysqld]
log-bin=mysql-bin server-id=1 binlog-ignore-db=mysql binlog-ignore-db=test En el esclavo 192.168.0.2 # vi /etc/my.cnf Y en el archivo my.cnf del maestro debemos tener algo así: [mysqld]
server-id=2 Paso 2. Con estos cambios realizados el paso siguiente es arrancar cada uno de los servidores # vi /etc/inid.d/myqld start Paso 3. Una vez esté el servicios de MySql arriba, en el Maestro debemos crear la base de datos que vamos a replicar en el esclavo, después de crear la base de datos debemos crear las tablas de la base de datos y cargarlas con los datos iníciales para el correcto funcionamiento. Es probable q la base de datos no requiera datos iníciales, pero generalmente eso no es así. Una vez hemos creado las tablas y cargado los registros requeridos debemos bloquear las tablas para hacer el dump de la base de datos que cargaremos en el esclavo, esto lo hacemos de la siguiente manera en el Maestro. mysql> LOCK ALL TABLES READ ONLY;
mysql> exit Con esto debemos crear el dump de la base de datos en el maestro y cargarla luego en el esclavo
# mysqldump -u user -p DDBB > dump_para_esclavo.sql
# mysql –u user –p DDBB < dump_para_esclavo.sql Paso 4. El paso siguiente es crear la replicación en el maestro, es decir, indicarle al maestro en donde residirá la replicación, para esto debemos indicar el usuario, el host desde donde se conectará e indicar a que base de datos se le hará la réplica en el esclavo indicado. mysql> GRANT REPLICATION esclavo ON ddbb.* TO ‘usuario_replica’@’192.168.0.2’ IDENTIFIED BY ‘clave-segura’; Una vez hemos creado la replicación el paso siguiente es conocer la situación del maestro, es decir el archivo del binario actual y la posición actual del binario. Esta situación es la que le debemos dar al esclavo para que reconozca el punto de partida de la replicación. mysql> SHOW MASTER STATUS; +------------------+----------+--------------+-------------------------+ Los datos que debemos recordar y que utilizaremos al momento de arrancar el esclavo son File “mysql-bin.00005” y Position “57”. Una vez obtenida esta información podemos desbloquear las tablas de la base de datos en el maestro. mysql> UNLOCK ALL TABLES;
Paso 5. Después de tener las bases de datos creadas y cargadas de igual manera tanto en el maestro como en el esclavo (Paso 3) y de tener la información correspondiente al estado del maestro el paso siguiente es configurar el esclavo para que empiece a hacer la réplica del maestro. Para esto se deben seguir los siguientes pasos: mysql> CHANGE MASTER TO MASTER_HOST=192.168.0.1;
mysql> CHANGE MASTER TO MASTER_USER=’usuario_replica’; mysql> CHANGE MASTER TO MASTER_PASSWORD=’clave-segura’; mysql> CHANGE MASTER TO MASTER_LOG_FILE=’mysql-bin.000013’; mysql> CHANGE MASTER TO MASTER_LOG_POS=113; mysql> START SLAVE; Una vez lanzada la última sentencia “START SLAVE” empieza la replicación del maestro al esclavo. Para verificar que la replicación se está ejecutando adecuadamente debemos correr el siguiente comando: mysql> show slave status \G
Lo cual nos debe mostrar algo parecido a esto: *************************** 1. row *************************** ERROR: Lo importante de este reporte es que no nos reporte error alguno y sobretodo mirar el apartado Seconds_Behind_Master el cual nosindica el retraso de este esclavo con respecto al maestro. Con esto podemos empezar a hacer cambios y generar registros en la base de datos del maestro y verificar si los mismos se están reportando en el esclavo.
|



Sistema de Inventario DesarrollandoWeb.com