Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/05/2005, 09:02
yexicavalero
 
Fecha de Ingreso: mayo-2005
Mensajes: 1
Antigüedad: 19 años, 6 meses
Puntos: 0
De acuerdo 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
-