Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
configuracin
holivas@nodo1 (server1) = 192.168.0.20
holivas@nodo1 2 (server2) = 192.168.0.21
MySQL instalado en ambos servers:
Usuario Mysql = root
Clave Mysql = holivas
Comenzaremos con el primer nodo1 modificando el archivo de
configuracin de mysql ubicado en /etc/mysql/my.cnf.
Nota :
Conforme se desarrollo la configuracin para la replicacin, me ha
enseado que lo mejor es empezar por poner a andar un Master-Slave y,
una vez que ste funciona, realizar el proceso inverso en el nodo 2 Lo
cierto es que, si uno copia y pega los contenidos de los archivos
modificando los valores y corre los GRANT REPLICATION SLAVE, luego la
replicacin muy posiblemente no funcionar: nos encontraremos en
Google
buscando
por
qu
obtenemos
Slave_IO_Running:
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
#
other settings you may need to change.
server-id
=1
log_bin
= /var/log/mysql/mysql-bin.log
expire_logs_days
= 10
max_binlog_size
= 100M
binlog_do_db
= tiempos nombredelabasededatos
#binlog_ignore_db
= include_database_name
#bind-address = 127.0.0.1
server-id = 2
auto_increment_increment = 2 auto_increment_offset = 2
inlog_do_db = blog nombre de la base de datos
#binlog_ignore_db = base de datos _que_no_quiero_afectar
Guardamos los cambios y reiniciamos Mysql:
root@nodo2:/# /etc/init.d/mysql restart
Los
parmetros auto_increment_increment y auto_increment_offset
configurados debidamente en cada Nodo nos salvarn de este problema
mediante un mecanismo extremadamente intuitivo: el primero seteado
en 2 con offset de 2 tramitar los INSERTS en tablas tomando el prximo
ndice disponible ; En sntesis, el Log entre Nodos deja de importar
debido a que cada Base de Datos posee un criterio para tomar ndices
que evitar la colisin.
Lo que haremos ahora es darle a la cuenta mysql replicador privilegio
para hacer Replication Slave pero desde el nodo 2 hacia el nodo1 y,
finalmente, editaremos my.cnf del nodo 1 para decirle que es Slave del
nodo 2.
En pocas palabras: repetiremos lo hecho hasta aqu pero en sentido
inverso
mysql>SHOWMASTERSTATUS;
de
Nodo
root@nodo1root@nodo1:/#sudonano/etc/mysql/my.cnf
#bindaddress=127.0.0.1
serverid=1
masterconnectretry=60
auto_increment_increment=1
auto_increment_offset=2
binlog_do_db=blog
binlog_ignore_db=base_que_no_quiero_afectar
Guardamosloscambiosyreiniciamosmysql
root@nodo1:/#/etc/init.d/mysqlrestart
Por ltimo debemos sincronizar los Nodos de modo que cada Servidor
sepa a partir de qu log mysql trabajar y desde qu posicin comenzar
(esta es la informacin que obtuvimos en las tablas al arrojar la
sentencia SQL SHOW MASTER STATUS).
En el Nodo 1 (192.168.0.20) ingresamos a mysql como root:
root@nodo1:/#mysqlurootpIngresamosclavederootmysql
mysql>SLAVESTOP;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.21', MASTER_USER='replicador',
MASTER_PASSWORD='holivas',
MASTER_LOG_FILE='VALOR_OBTENIDO_EN_Nodo2',
MASTER_LOG_POS=VALOR_OBTENIDO_EN_nodo2;
mysql>SLAVESTART;
mysql>QUIT;
En el Nodo 2 (192.168.0.21):
root@nodo2:/#mysqlurootpIngresamosclavederootmysql
mysql>SLAVESTOP;
mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.20', MASTER_USER='replicador',
MASTER_PASSWORD='holivas',
MASTER_LOG_FILE='VALOR_OBTENIDO_EN_nodo1',
MASTER_LOG_POS=VALOR_OBTENIDO_EN_nodo1;
mysql>SLAVESTART;
mysql>QUIT;