| |||
Replicar en MYSQL La replicacion en MySQL es de una sola via, osea que uno de los servidores alimenta al(los) otro(s) formando una relacion maestro-esclavo. Supongamos que se tienen dos maquinas servidor1.dominio.com y servidor2.dominio.com. usaremos a servidor1 como maestro y servidor2 como esclavo. Los pasos a seguir serian los siguientes: 1) Utilizar una version de MySQl 3.23.15 o superior (3.23.25 es la mas reciente asi que usen esa). 2) Otorgar a un usuario existente o crear uno nuevo con permisos FILE para conectarse desde la maquina que sera el esclavo: GRANT FILE ON basededatos.tabla TO [email protected] IDENTIFIED BY 'password'; 3) Tomar una imagen de la base de datos que se desea copiar con el comando: mysqldump --opt basededatos > basededatos.sql Esto creara un archivo de texto con los CREATE TABLE e INSERT necesarios para crear las tablas y meterle datos. 4) En el archivo /etc/my.cnf del maestro colocar la siguiente linea y luego reiniciar mysql: log-bin Esto hace que el el maestro genere logs binarios con los updates que son necesarios para la replicacion. Para reiniciar mysql se usa: /etc/rc.d/init.d/mysql stop /etc/rc.d/init.d/mysql start 5) Cargar el snapshot en el esclavo, copian el archivo que se genero antes en el maestro al esclavo y ejecutan: mysql basededatos < basededatos.sql 6) Editan el /etc/my.cnf del esclavo y reiniciarlo, se agregan las siguientes lineas en la seccion [mysqld]: master-host=servidor1.dominio.com master-user=rep_user master-password=password Luego reinician mysql en el esclavo y listo, estaran replicando y tendran los datos sincronizados. Luego de esto si quieren experimentar un poco mas, pueden colocar un servidor como maestro al que se le dirigen todos los UPDATE, INSERT ,DELETE y tener varios servidores esclavos a los cuales se direccionan los querys. Como dije al principio, la replicacion es de una sola via, pero eso no impide que un servidor sea maestro y esclavo al mismo tiempo. Para ver el estado del maestro dentro del cliente mysql usen el comando: SHOW MASTER STATUS; y para ver el del esclavo (en el esclavo): SHOW SLAVE STATUS; Esto es solo lo basico, hay mas opciones, consulten el manual de MySQL en http://www.mysql.com P.D. no olviden verificar que su /etc/hosts este al dia - |