Linux en español
Tutoriales

Cómo configurar MySQL (MariaDB) Maestro-Esclavo replicado en Debian 10

configurar MySQL (MariaDB) Maestro-Esclavo replicado Debian 10
5 minutos de lectura

La replicación de MySQL es un proceso de copia de datos de un servidor de base de datos (master) a uno o más servidores (esclavos).

MySQL soporta varias topologías de replicación Maestro/Esclavo topología de ser uno de los más conocidos topologías en las que un servidor de base de datos actúa como maestro, mientras que uno o más servidores actúan como esclavos. De forma predeterminada, la replicación asincrónica, donde el maestro envía los eventos que describen las modificaciones de base de datos para su registro binario y los esclavos solicitud de los eventos cuando están listos.

En esta guía, vamos a mostrar cómo configurar MariaDB replicación Master/Slave con un maestro y un esclavo servidor en Debian 10. MariaDB es la implementación por defecto de MySQL en Debian. Se aplican los mismos pasos para Oracle MySQL.

Este tipo de topología de replicación es el más adecuado para la implementación de las réplicas de lectura para leer la escala, bases de datos de copia de seguridad para recuperación de desastres, y para análisis de puestos de trabajo.

Requisitos previos

Estamos asumiendo que usted tiene dos servidores con Debian 10, comunicarse unos con otros a través de una red privada. Si su proveedor de hosting no admite direcciones IP privadas, puede utilizar las direcciones IP públicas y configurar su firewall para permitir el tráfico en el puerto 3306 sólo de fuentes de confianza.

Los servidores que se utilizan en este ejemplo tiene las siguientes direcciones IP:

Master IP: 10.10.8.12
Slave IP:  10.10.8.164

La Instalación De MariaDB

El defecto de Debian 10 repositorios incluye MariaDB versión 10.3. Lo mejor es instalar el mismo MariaDB versión en ambos servidores para evitar posibles problemas.

Instalar MariaDB en tanto el maestro y el esclavo por medio de los siguientes comandos:

sudo apt-get update
sudo apt-get install mariadb-server

Configurar el Servidor Maestro

El primer paso es configurar el servidor maestro. Vamos a hacer los siguientes cambios:

Abra el MariaDB archivo de configuración y elimine o establecer las siguientes líneas:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

master:/etc/mysql/mariadb.conf.d/50-server.cnf

bind-address           = 10.10.8.12
server-id              = 1
log_bin                = /var/log/mysql/mysql-bin.log

Una vez hecho esto, guarde el archivo y reinicie el servicio de MySQL para que los cambios tengan efecto:

sudo systemctl restart mariadb

El siguiente paso es crear un nuevo usuario de replicación. Inicie sesión en el MariaDB servidor como usuario root:

sudo mysql

Ejecute las siguientes consultas SQL para crear un usuario llamado réplica y conceder el ESCLAVO de REPLICACIÓN privilegio para el usuario:

CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164';

Asegúrese de cambiar la IP con su esclavo dirección IP. Usted puede poner el nombre del usuario como desee.

Mientras que todavía en el interior de los comandos de MySQL, ejecute el siguiente comando que se va a imprimir el binario de nombre de archivo y la posición.

SHOW MASTER STATUS\G
*************************** 1. row ***************************
            File: mysql-bin.000001
        Position: 328
    Binlog_Do_DB: 
Binlog_Ignore_DB: 
1 row in set (0.001 sec)

Tome nota del nombre de archivo, ‘mysql-bin.000001’ y la Posición ‘328’. Estos valores son necesarios a la hora de configurar el servidor esclavo y probablemente será diferente en el servidor.

Configurar el Servidor Esclavo

Vamos a hacer los mismos cambios en el servidor esclavo como aquellos en el maestro:

  • Configurar el servidor de MySQL para escuchar en la IP privada.
  • Establecer un único ID de servidor.
  • Habilitar el log binario.

Abra el MariaDB archivo de configuración y modificar las siguientes líneas:

sudo nano /etc/mysql/mariadb.conf.d/50-servidor.cnf
slave:/etc/mysql/mariadb.conf.d/50-server.cnf
bind-address           = 10.10.8.164
server-id              = 2
log_bin                = /var/log/mysql/mysql-bin.log

Reinicie el MariaDB servicio:

sudo systemctl restart mariadb

El siguiente paso es configurar los parámetros que el servidor esclavo se utiliza para conectar con el servidor maestro. Inicio de sesión para el MariaDB shell:

sudo mysql

Empezar por detener el esclavo de hilos:

STOP SLAVE;

Ejecute la consulta siguiente para configurar la replicación Master/Slave:

CAMBIO DE MAESTRO A
MASTER_HOST='10.10.8.12',
MASTER_USER='réplica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=328;

Asegúrese de que está utilizando la dirección IP correcta, el nombre de usuario y contraseña. El nombre de archivo de registro y la posición debe ser la misma que la de los valores obtenidos desde el servidor principal.

Una vez hecho esto, inicia el esclavo hilos.

START SLAVE;

Prueba de la Configuración

En este punto, usted debe tener un trabajo de Maestro/Esclavo de replicación de la configuración.

Para comprobar que todo está configurado correctamente, crear una nueva base de datos en el servidor maestro:

sudo mysql
CREATE DATABASE replicatest;

Inicio de sesión para el esclavo MySQL shell:

sudo mysql

Ejecute el siguiente comando para [lista de todas las bases de datos(https://linuxize.com/post/how-to-show-databases-in-mysql/)]:

SHOW DATABASES;

Usted notará que la base de datos creada en el servidor maestro se replica en el esclavo:

+--------------------+
Base de datos | |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| replicatest |
| sys |
+--------------------+
5 filas en set (0.00 sec)

Conclusión

En este tutorial, hemos demostrado que crear un MariaDB Maestro/Esclavo de replicación en Debian 10.

Siéntase libre de dejar un comentario si usted tiene alguna pregunta.

Puntuación media / 5. Recuento de votos:

¡Síguenos en redes sociales!

Entradas relaccionadas

Downgrade: Cómo volver a una versión previa de un programa

Linux en Español

¿Cómo instalar los drivers privados de Nvidia en Debian 9 Stretch?

Linux en Español

Cómo cambiar el fondo de la pantalla de inicio de sesión de GDM en Ubuntu

Linux en Español

Cómo obtener información del hardware en linux

Diego García Cuesta

Cómo desactivar Gutenberg y usar el editor clásico en WordPress

Diego García Cuesta

Cómo reiniciar nginx en Debian

Diego García Cuesta