GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo configurar la replicación de esclavo maestro de MySQL

Introducción

En la computación en la nube, la replicación de datos maestro-esclavo se refiere al almacenamiento de la misma información en varios servidores. Un servidor controla el grupo y los otros dispositivos manejan el trabajo dentro del mismo nodo.

La replicación se vuelve necesaria:

  • Cuando una empresa necesita una copia de seguridad diaria regular que pueda restaurar la base de datos maestra de MySQL en caso de un mal funcionamiento del almacenamiento.
  • Dondequiera que la información deba ser almacenada, examinada y modificada por varias personas, en varias computadoras. Si un miembro del grupo identifica la necesidad de un cambio, debe dirigirse al maestro designado del nodo.

Esta guía lo guiará a través de cómo configurar la replicación maestro-esclavo en MySQL.

Requisitos previos

  • Un sistema basado en Linux, como CentOS
  • Una cuenta de usuario con sudo privilegios
  • Un instalador de paquetes como yum o apto , normalmente incluido de forma predeterminada
  • La IP privada del servidor en la nube (para evitar cargos por ancho de banda en la IP pública durante la configuración)

Pasos para configurar la replicación de base de datos maestro-esclavo en MySQL

mmm (Yellowdog Updater, Modified) es la herramienta de administración de paquetes para los sistemas RedHat Package Manager Linux. En .deb paquetes, el yum la herramienta generalmente se reemplaza con apt herramienta. Por lo tanto, en un comando dado apt-get generalmente puede reemplazar a yum .

Por ejemplo, un comando de instalación es yum install [package_name] o apt-get install [package_name] por idéntico resultado. Este artículo asume que está utilizando una distribución de Linux basada en RPM. Por lo tanto, yum se utilizan comandos.

La base de datos maestra de MySQL se ejecuta en modo de lectura y escritura. Mientras tanto, el servidor esclavo se ejecuta como de solo lectura. Ahora, a la replicación.

Paso 1:configurar la base de datos MySQL para replicación

Utilice el mysqldump Comando para realizar un volcado y restauración de información a la base de datos esclava. Este comando vuelca los datos en un archivo, los transfiere y los restaura en el nodo esclavo.

Paso 2:Cree 2 servidores en la nube separados

En este paso, el usuario privilegiado debe iniciar sesión en el control de la nube. Con CentOS, esto es posible a través de la imagen base de CentOS 6.

Cree dos servidores en la nube de Linux con la memoria RAM adecuada y asígneles nombres distintos.

Paso 3:actualice todos los paquetes de software a su versión actual

Los usuarios y administradores de sistemas pueden actualizar todos los paquetes de software en un sistema Linux basado en RPM con el siguiente comando:

yum update

Paso 4:Instalar MySQL

Para sistemas Linux basados ​​en RedHat Package Manager, instale el paquete del servidor MySQL en ambos servidores en la nube con el comando:

yum install mysql-server

Configure el servicio para que se ejecute cada vez que el sistema arranque con el comando:

chkconfig mysqld on

Paso 5:Inicie MySQL

Ahora, averigüe si MySQL se instaló correctamente. Si lo fuera, debería poder iniciar el servicio con el comando:

service mysqld start

Paso 6:Configure la contraseña raíz del servidor MySQL

Es una buena idea establecer una contraseña de usuario administrativo para MySQL. Para configurar la contraseña, ejecute el script para una instalación segura que acompaña al paquete MySQL, respondiendo con S a todas las solicitudes de Y/n.

O utilice /usr/bin/mysqladmin -u root password seguido de un espacio y su nueva contraseña; y /usr/bin/mysqladmin -u root -h web01 password seguido de un espacio y, nuevamente, su nueva contraseña.

Paso 7:configurar el cortafuegos para el acceso a la base de datos

Aplicación de la regla Puerto TCP 3306 agrega una política de firewall que permite el tráfico en el puerto 3306. Esta regla permite una comunicación adecuada entre dispositivos.

Para guardar la configuración del firewall, use el comando:

service iptables save

Tenga cuidado al abrir puertos para asegurarse de evitar hacks.

Paso 8:Configurar el servidor para replicación

Cada servidor esclavo requiere una forma de conectarse al servidor maestro. Para establecer una conexión, necesita un nombre de usuario y una contraseña de MySQL. Esto requiere que configure una cuenta de usuario de MySQL en el servidor maestro.

Recomendamos establecer una cuenta dedicada para la replicación. Para esta función, otorgue a cualquier cuenta el privilegio de esclavo de replicación. Puede crear la misma cuenta o cuentas diferentes para cada esclavo. Siempre puede encontrar el nombre de usuario y la contraseña de la cuenta en texto sin formato en el repositorio principal.

Para configurar una nueva cuenta de usuario llamada replicación y permita que se conecte con fines de replicación desde cualquier host en yoursite.com dominio, ejecute este comando en el servidor maestro:

mysql> CREATE USER 'replication'@'%.yoursite.com' IDENTIFIED BY [space followed by password]; then: mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%.yoursite.com';

Paso 9:asegúrese de que los datos de sus servidores coincidan

Duplique los datos mediante el volcado del maestro al servidor esclavo.

Las tablas de descarga deben establecerse con un bloqueo de lectura. La base de datos del servidor maestro no debe aceptar cualquier cambio nuevo durante este paso. Si hay información en el servidor maestro para coordinar con los servidores esclavos antes de que comience el proceso de replicación, realice las siguientes acciones:

  • Deje de procesar cualquier comando en el servidor maestro.
  • Copie el nombre del archivo y las coordenadas actuales del servidor maestro dentro de su registro binario (consulte el Paso 10, a continuación). Esto será necesario más adelante al completar la configuración de la replicación.
  • Antes de permitir que su servidor maestro continúe siguiendo los comandos, descargue sus datos.

Realice todas estas acciones con cuidado para asegurarse de que el volcado de datos coincida con los datos actuales del servidor maestro. De lo contrario, las bases de datos esclavas no coincidirán o se dañarán.

Paso 10:Tomar una instantánea de la base de datos maestra

Al realizar la siguiente acción, tenga en cuenta que solo una instantánea de la base de datos maestra es todo lo que necesita para configurar varios servidores esclavos.

Si aún tiene que configurar el server-id e inicia un registro binario en el servidor maestro, debe apagar el servidor. Puede tomar una instantánea de las bases de datos ahora.

Lleve los archivos de datos al directorio del servidor esclavo:

shell> tar xvf dbdump.tar

Si es necesario, establezca la propiedad y los permisos de los archivos. Es posible que deba permitir el acceso del servidor esclavo y la capacidad de realizar modificaciones. Inicie el esclavo con --skip-slave-start para evitar comenzar la replicación.

Configure su servidor esclavo con el nombre de host del servidor maestro y las credenciales de inicio de sesión. Utilice las coordenadas de replicación del servidor maestro para la base de datos esclava. Está dirigiendo al esclavo al punto donde comienza la replicación, utilizando el archivo de registro binario y la posición.

Para un servidor maestro configurado, puede usar mysqldump para tomar una instantánea.

Ahora puede actualizar la configuración del esclavo. Nuevamente, asegúrese de iniciar el esclavo con --skip-slave-start para evitar comenzar la replicación.

Importe el volcado con el comando:

shell> mysql < fulldb.dump

Paso 11:Comenzar subprocesos esclavos

Para ver inmediatamente las actualizaciones en el servidor esclavo, use:

mysql> START SLAVE;

Linux
  1. Cómo configurar la replicación maestro-maestro de MySQL

  2. Cómo instalar y configurar mysql 8 en Ubuntu 20.04

  3. Cómo configurar MySQL Cluster en Ubuntu

  4. Cómo configurar la replicación de esclavo maestro de MariaDB en Ubuntu 18.04

  5. Cómo eliminar la base de datos mysql a través del comando de shell

Cómo configurar la replicación de MySQL en RHEL/Centos

Cómo configurar NordVPN en Ubuntu

Cómo configurar o cambiar la zona horaria en Debian 11

¿Cómo configurar el acceso remoto a MySQL en cPanel?

Cómo configurar la replicación maestro-esclavo de MariaDB en CentOS 7

¿Cómo configurar la replicación maestro-esclavo de MySQL en RHEL 7?