Sunteți pe pagina 1din 5

Para llevar a cabo la replicación de MySQL se hizo el proceso que permite fácilmente mantener

múltiples copias de datos en My SQL, cuando estos se copian automatimaticamente esto se


refiere a que la nueva base de datos puede ser un esclavo de la base de datos maestro. Esto
funciona o es muy útil por muchas razones, lo que es la preparación de seguridad en los datos
o una forma para escalar los datos y poder analizarlos.

Para llevar a cabo la elaboración de replicación maestro/ esclavo comenzamos instalando


MySQL en Ubuntu:

Para esto necesitaremos entrar al modo súper usuario, con el comando sudo su después de
instalarse, comenzaremos a modificar el archivo vim con el comando.
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

cuando nos encontramos dentro de este archivo comenzaremos a seleccionar primero el local host
por el cual habrá la vinculación del servidor

Remplazaremos la ip 127.0.0.1 en el bind- Address por la ip 192.168.10.2

Ahora buscaremos y des comentaremos las líneas de:

server-id = 2

log_bin = /var/log/MySQL/mysql-bin.log

binlog_do_db=

En los puntos des comentados cambiaremos y agregaremos en server-id el número 2, en


binlog_do_db colocaremos el nombre de ACUARIO
binlog_do_db = ACUARIO

Después de realizar todos los cambios, continúe y guarde y salga del archivo de configuración.

Reiniciar MySQL.

sudo service mysql restart

Abre el shell MySQL.

mysql -u root -p

Necesitamos otorgar privilegios al esclavo. Puede usar esta línea para nombrar a su esclavo y
configurar su contraseña. El comando debe estar en este formato:

GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';

Ir a la par de:

FLUSH PRIVILEGES;

La siguiente parte es un poco quisquillosa. Para llevar a cabo la tarea, deberá abrir una nueva
ventana o pestaña además de la que ya está usando unos pasos más adelante.

En su pestaña actual, cambie a " ACUARIO ".

USE ACUARIO;

A continuación, bloquee la base de datos para evitar nuevos cambios:

FLUSH TABLES WITH READ LOCK;

Luego escribe:

SHOW MASTER STATUS;

Verá una tabla que debería verse más o menos así:

mysql> SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+

| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |

+------------------+----------+--------------+------------------+

| mysql-bin.000001 | 107 | ACUARIO | |

+------------------+----------+--------------+------------------+

1 row in set (0.00 sec)


Esta es la posición desde la cual la base de datos esclava comenzará a replicarse. Registre estos
números, serán útiles más tarde.

Si realiza nuevos cambios en la misma ventana, la base de datos se desbloqueará


automáticamente. Por esta razón, debe abrir la nueva pestaña o ventana y continuar con los
próximos pasos allí.

Continuando con la base de datos aún bloqueada, exporte su base de datos usando
mysqldump en la nueva ventana (asegúrese de estar escribiendo este comando en el shell
bash, no en MySQL).

mysqldump -u root -p --opt ACUARIO > ACUARIO.sql

Ahora, volviendo a su ventana original, desbloquee las bases de datos (haciéndolas escribibles
de nuevo). Termine saliendo del caparazón.

UNLOCK TABLES;

QUIT;

Ahora ya ha terminado con la configuración de la base de datos maestra.

Paso dos: configure la base de datos esclava

Una vez que haya configurado la base de datos maestra. Puede dejarlo de lado por un tiempo,
y ahora comenzaremos a configurar la base de datos esclava.

Inicie sesión en su servidor esclavo, abra el shell MySQL y cree la nueva base de datos que va a
replicar del maestro (luego salga):

CREATE DATABASE ACUARIO;

EXIT;

Importe la base de datos que exportó previamente de la base de datos maestra.

mysql -u root -p ACUARIO </path/to/ ACUARIO.sql

Ahora tenemos que configurar la configuración del esclavo de la misma manera que lo hicimos
con el maestro:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf


Tenemos que asegurarnos de tener algunas cosas configuradas en esta configuración. El
primero es la identificación del servidor. Este número, como se mencionó antes, debe ser
único. Como está configurado en el valor predeterminado (todavía 1), asegúrese de cambiarlo.

server-id = 2

Después de eso, asegúrese de que tenga los siguientes tres criterios debidamente
completados:

relay-log = /var/log/mysql/mysql-relay-bin.log

log_bin = /var/log/mysql/mysql-bin.log

binlog_do_db = ACUARIO

Tendrá que agregar en la línea de registro de retransmisión: no está allí por defecto. Una vez
que haya realizado todos los cambios necesarios, guarde y salga del archivo de configuración
del esclavo.

Reinicia MySQL una vez más:

sudo service mysql restart

El siguiente paso es habilitar la replicación desde el shell de MySQL.

Abra el shell MySQL una vez más e ingrese los siguientes detalles, reemplazando los valores
para que coincidan con su información:

CHANGE MASTER TO MASTER_HOST='192.168.10.2',MASTER_USER='slave_user',


MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=
107;

Este comando le permite al servidor esclavo saber dónde comenzar a replicar; el archivo de
registro maestro y la posición del registro provienen de los números que escribimos
anteriormente.

Con eso, ha configurado un servidor maestro y esclavo.

Activar el servidor esclavo:

START SLAVE;

Puede ver los detalles de la replicación esclava escribiendo este comando. El \ G reorganiza el
texto para hacerlo más legible.

SHOW SLAVE STATUS\G


Si hay un problema al conectar, puede intentar iniciar el esclavo con un comando para
omitirlo:

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;START SLAVE;

Instalamos y configuramos lo que es el maestro 1

En la cual damos de alta su dirección ip.

Al igual al 2° Maestro

En la cual damos de alta su7 dirección ip

S-ar putea să vă placă și