You are on page 1of 11

BASES DE DATOS

AVANZADAS
Sesión 18 – Replicación
Replicación
 Proceso de compartir información, asegurando
consistencia entre recursos redundantes
 Incrementa
 Fiabilidad

 Tolerancia a fallos
 Disponibilidad
Replicación
 La replicación en SGDB mediante instancias
maestro/esclavo
 El maestro
 contiene toda la información original
 es donde se realiza la manipulación de los datos
 Registra todas las actualizaciones realizadas

 El esclavo
 Lee el registro de manipulación de datos
 Repite estas manipulaciones, creando una copia exacta de
los datos
Replicación en MySQL
Replicación en MySQL
 Configurar el servidor maestro
 Establecer el server ID en el archivo my.ini
 Detener el servidor
 Net stop mysql
 Editar el archivo my.ini
 [mysqld]
#habilitar binary log
log-bin=mysql-bin
#establecer server id para replicacion
server-id=1
 Iniciar el servidor
 Net start mysql
Replicación en MySQL
 Configurar el esclavo
 Establecer el server id en el archivo my.ini del esclavo
 parar el servidor
 net stop mysql
 editar el archivo my.ini
 [mysqld]
server-id=2
 iniciar el servidor
 net start mysql
Replicación en MySQL
 crear un usuario para replicación
 conectarse al maestro como root
 mysql -u root –p
 crear un usuario en el maestro con privilegios de
REPLICATION SLAVE
 create user 'repl'@'%' identified by 'password123';
grant replication slave on *.* to 'repl'@'%';
Replicación en MySQL
 obtener las coordenadas del binary log del maestro
 eliminar caches de tablas y obtener bloqueo de lectura para
prevenir alteración de datos
 flush tables with read lock;
 Abrir otra sesión en el maestro como root, sin cerrar la anterior
 mysql -u root –p
 obtener las coordenadas del binary log
 show master status;
 registrar los valores de los campos File y Position para después.
si están vacios, los valores de estos serán '' y 4 respectivamente.
 cerrar la sesión, pero dejar corriendo la sesión que invocó el
bloqueo
 quit
Replicación en MySQL
 crear una instantánea de la base de datos
 crear archivo con dump de la base de datos a replicar
 mysqldump -u root -p -R --lock-all-tables test > dbdump.sql
 liberar el bloqueo en la sesión donde se adquirió
 unlock tables;
 conectarse a la base de datos esclavo
 mysql -u root –p
 crear base de datos a replicar en el esclavo
 create database test;
 use test;
 importar los datos al esclavo
 source dbdump.sql
 show tables;
Replicación en MySQL
 añadir la configuración del maestro en el esclavo
 obtener la dirección ip del host de base de datos maestro
 Ipconfig
 conectarse a la base de datos esclava
 mysql -u root –p
 establecer la configuración del maestro en el esclavo
 change master to
master_host='192.168.1.65',
master_user='repl',
master_password='password123',
master_log_file='mysql-bin.000001',
master_log_pos=410;
Replicación en MySQL
 inicializar la replicación con datos existentes
 indicar el inicio de la replicación
 start slave;

You might also like