Mostrando entradas con la etiqueta replicación. Mostrar todas las entradas
Mostrando entradas con la etiqueta replicación. Mostrar todas las entradas

sábado, 21 de noviembre de 2015

Píldora: MySQL Replicación Maestro - esclavo



Hola! hoy te traigo mi receta para montar una replicación M/s MySQL
Espero que te sea tan útil como me resulta a mí!



Ten en cuenta que está basada en distribuciones RHEL, pero se puede adaptar a cualquier otra
[ (M): ejecutar en Master ]
[ (s): ejecutar en slave]

# Actualizar sistema en (M) y (s)


sudo yum update

# Añadir a los repositorios los oficiales de Percona en (M) y (s)


sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-
3/percona-release-0.1-3.noarch.rpm

# Instalamos, levantamos y securizamos MySQL en (M) y (s)

sudo yum install Percona-Server-server-55
sudo service mysql start
sudo mysql_secure_installation

(tendremos que introducir los datos que nos solicite)

# Abro puertos de comunicación de MySQL en (M) y (s)

sudo firewall-cmd --zone= --add-service=mysql
iptables -L -n # y compruebo que ya aparece el servicio mysql

# Configurar en (M)

sudo vi /etc/my.cnf

# y añado en [mysql]
------
log-bin=mysql-bin
server-id=1
------
guardo, salgo y ejecuto

sudo service mysql restart

y en (s) hago casi lo mismo

sudo vi /etc/my.cnf

# y añado en [mysql]
------
server-id=2
------
sudo service mysql restart

# Configurar usuarios de replicación (M)

mysql -p -u root
mysql > CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass123';
mysql > GRANT REPLICATION SLAVE ON *.* TO 'repl';
mysql > FLUSH TABLES WITH READ LOCK;
mysql > SHOW MASTER STATUS;

En el último paso, guardamos los datos File y Position para seguir en la provisión
Seguimos en (s)

mysql -p -u rootmysql >  CHANGE MASTER TO MASTER_HOST="Master_Host",
MASTER_USER="repl", MASTER_PASSWORD="slavepass123";,
MASTER_LOG_FILE=";mysql-bin.000001", MASTER_LOG_POS=551;

Como prueba creo una BD y compruebo que se crea automáticamente en el otro servidor
Después vuelco una BD pequeña y compruebo que se crea igualmente en el otro servidor

lunes, 22 de agosto de 2011

Quitar un servidor MySQL de la replicación

No sé si os ha llegado a pasar alguna vez: para poner dos BBDD MySQL en replicación hay información para parar un tren, pero para quitarlas, yo no he localizado tanta...

Aquí dejo mi pequeña receta.

Hasta hace nada tenía tres servidores MySQL, uno de maestro y dos esclavos que se replicaban automáticamente contra el maestro. Pero llegó el momento que necesité sacarlos y esto es lo que hice:

  1. Editar el /etc/mysql/my.conf (cambiará según distribución, pero en esencia es el archivo de configuración del MySQL) y comentamos las siguientes líneas:
    #server-id = 6
    #log_bin = /var/log/mysql/mysql-bin.log
  2. Movemos (por si hay que recuperarlo) el archivo master.info que se ubica donde se guardan los binarios del MySQL (por defecto en muchos casos es /var/lib/mysql/) y lo guardamos con otro nombre
  3. Reiniciamos la BBDD

La comprobación de que todo ha ido bien y que ya no está vinculado a ningún maestro la podéis hacer consultando el estado del slave: show slave status. Ya veréis como no dice nada!