Replicacion de servidores con MySQL
Wednesday, September 20th, 2006NOTA: Estas operaciones se han realizado con la version 5 de MySQL.
I) En el servidor maestro
1.- Entrar en el servidor maestro usando el cliente mysql como root.
2.- Crear el usuario de replicaci�n y asignarles privilegios de r�plica:
GRANT FILE ON *.* TO usr_repl@’%’ IDENTIFIED BY ‘contrase�a’;
UPDATE mysql.user SET Repl_slave_priv=’y', Repl_client_priv=’y’
WHERE User=’usr_repl’;FLUSH PRIVILEGES;
3.- Sacar copia de la base de datos a replicar usando mysqldump.
4.- Volver al cliente mysql y obtener los valores del estado del servidor:
SHOW MASTER STATUS;
anotaremos los valores de File y Position para usarlos m�s tarde en la configuraci�n del cliente.
5.- Cerraremos el programa cliente mysql.
6.- Detendremos el servicio del servidor MySQL.
7.- Buscaremos y editaremos el fichero my.ini (my.cfg en Linux) y nos aseguraremos que tiene estas lineas:
[mysqld]
log-bin=mysql-bin
server-id=1
8.- Arrancar de nuevo el servicio del servidor MySQL para poner el servidor maestro en marcha.
9.- Entrar en el cliente mysql y ejecutar
RESET MASTER;
Aunque no es necesario seg�n la documentaci�n del MySQL, es aconsejable.
II) En el servidor esclavo
1.- Detendremos el servicio del servidor MySQL.
2.- Buscaremos y editaremos el fichero my.ini (my.cfg en Linux) y nos aseguraremos que tiene estas lineas:
[mysqld]
server-id=2Para el uso de varios servidores esclavos estableceremos distintos valores de server-id a cada uno y siempre mayores que 1.
3.- Arrancaremos de nuevo el servicio del servidor MySQL.
4.- Crearemos la base de datos usando el cliente mysql.
5.- Importaremos la copia de los datos que sacamos anteriormente del servidor maestro.
6.- Desde el cliente mysql ejecutaremos:
CHANGE MASTER TO
MASTER_HOST=’nombre o IP del servidor maestro’,
MASTER_USER=’usr_repl’,
MASTER_PASSWORD=’contrase�a’,
MASTER_LOG_FILE=’valor de File que anotamos antes’,
MASTER_LOG_POS=valor de Position que anotamos antes;NOTA: Ojo a las comillas!!!
7.- Arrancar el servidor esclavo desde el cliente mysql:
START SLAVE;
y tendremos los dos servidores sincronizados.