GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar la replicación de MySQL en CentOS

En este tutorial, le mostraremos cómo configurar la replicación básica de MySQL en dos servidores CentOS 7, pero los mismos pasos deberían funcionar en todos los sistemas basados ​​en RPM. Usaremos dos servidores virtuales CentOS 7 de prueba para este tutorial con las siguientes direcciones IP:


MAESTRO: 123.456.789.1
ESCLAVO: 123.456.789.2

Servidor maestro:

1. Iniciar sesión a través de SSH

Inicie sesión en el servidor maestro como usuario root

ssh root@IP_Address

2. Instalar servidor MySQL

e instale el servidor MySQL si aún no está instalado

yum install mysql-server mysql

3. Inicie el servidor MySQL

Inicie el servidor MySQL y habilítelo para que se inicie en el momento del arranque

systemctl start mysql
systemctl enable mysql

4. Configurar servidor MySQL

A continuación, abra el archivo de configuración de MySQL con un editor de texto y agregue las siguientes líneas

vi /etc/my.cnf
server-id = 1
binlog-do-db=database
relay-log = mysql-relay-bin
relay-log-index = mysql-relay-bin.index
log-bin = mysql-bin

No olvide reemplazar 'base de datos ‘ con el nombre real de la base de datos que desea replicar en el servidor esclavo.

5. Reinicie el servidor MySQL

Guarde el archivo de configuración y reinicie el servidor MySQL para que los cambios surtan efecto

systemctl restart mysql

6. Cree un usuario de MySQL para el servidor esclavo y configúrelo

Inicie sesión en el servidor MySQL como usuario raíz y cree un usuario que será utilizado por el esclavo

mysql -u root -p
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY 'PASSWORD'
mysql> FLUSH PRIVILEGES;
mysql> FLUSH TABLES WITH READ LOCK;
mysql> SHOW MASTER STATUS;
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 |      245 | database     |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

mysql> exit

Necesitaremos las coordenadas del maestro que se usarán para el servidor esclavo, así que escríbalas.

Archivo: mysql-bin.000001
Posición: 245

Reemplace 'CONTRASEÑA ' con una contraseña fuerte real.

Ahora, si la base de datos que desea replicar no está vacía, cree un volcado desde la base de datos

mysqldump -u root -p --master-data database > /root/database.sql

y transfiera el archivo de volcado al servidor esclavo

rsync -Waq -e ssh /root/database.sql 123.456.789.2:/root

Servidor esclavo:

7. Inicie sesión a través de SSH e instale el servidor MySQL en el servidor esclavo

El siguiente paso es configurar el servidor esclavo. Inicie sesión en el servidor esclavo a través de SSH como usuario raíz e instale el servidor MySQL como lo hicimos en el servidor maestro.

Después de instalar e iniciar el servidor MySQL, abra su archivo de configuración y agregue las siguientes líneas:

vi /etc/my.cnf
server-id = 2
master-host=123.456.789.1
master-connect-retry=60
master-user=slaveuser
master-password=PASSWORD
replicate-do-db=database
relay-log = mysql-relay-bin
log-bin = mysql-bin

8. Reinicie el servidor MySQL

Guarde el archivo y reinicie el servidor MySQL para que los cambios surtan efecto.

systemctl restart mysql

Importe el archivo de volcado de MySQL que creamos en el servidor maestro

mysql -u root -p < /root/database.sql

9. Configurar servidor MySQL

Inicie sesión en MySQL como usuario raíz, detenga el esclavo y configúrelo donde buscar el "archivo de registro maestro"

mysql -u root -p
mysql> slave stop;
mysql> CHANGE MASTER TO MASTER_HOST='123.456.789.1', MASTER_USER='slaveuser', MASTER_PASSWORD='PASSWORD', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=245;
mysql> slave start;

Utilice el nombre de usuario y la contraseña de MySQL que creamos en el servidor maestro.

Puede verificar el estado del esclavo ejecutando el siguiente comando de MySQL:

mysql> show slave status;
*************************** 1. row ***************************
               Slave_IO_State: Waiting for master to send event
                  Master_Host: 123.456.789.1
                  Master_User: slaveuser
                  Master_Port: 3306
              Master_Log_File: mysql-bin.000001
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
              Replicate_Do_DB: database

Si ‘Slave_IO_State ' informa 'Esperando que el maestro envíe el evento', la replicación es exitosa.

Eso es todo. Es fácil. Si necesita más información sobre cómo establecer una configuración maestra de replicación, puede encontrarla en el sitio web oficial de MySQL.

Por supuesto, no tiene que configurar la replicación de MySQL en CentOS, si utiliza uno de nuestros servicios de hospedaje de MySQL, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que configuren la replicación de MySQL en CentOS por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato. También puede consultar las nuevas actualizaciones sobre Cómo instalar MySQL en CentOS 7.

PD. Si le gustó esta publicación sobre cómo configurar la replicación de MySQL en CentOS, compártala con sus amigos en las redes sociales usando los botones a la izquierda o simplemente deje una respuesta a continuación. Gracias.


Cent OS
  1. Cómo configurar un servidor SFTP en CentOS

  2. Cómo instalar el servidor de base de datos MySQL 8 en CentOS 8

  3. Cómo instalar el servidor Percona en CentOS 7

  4. Cómo configurar el servidor SysLog en CentOS 7 / RHEL 7

  5. Cómo configurar el servidor NFS en CentOS 7 / RHEL 7

Cómo configurar el servidor NFS en CentOS 8 / RHEL 8

Cómo configurar un servidor SVN en CentOS

Cómo instalar MySQL 8 en CentOS 8

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

Cómo configurar HAProxy en CentOS 8

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