mysql maestro-esclavo (maestro-esclavo) los datos de recuperación maestro-esclavo no se pierden

Simulación del entorno: estructura maestro-esclavo, falla de la biblioteca maestra, actualización de la biblioteca esclava a la biblioteca maestra, nuevo maestro escribe datos, luego recuperación maestro-esclavo, importa con éxito los datos escritos por el nuevo maestro durante la falla de la biblioteca principal

Despliegue del entorno

  • Versión del sistema
    CentOS Linux, versión 7.5.1804 (Core)
  • Versión de Kernel
    3.10.0-862.el7.x86_64
  • Cortafuegos y selinux cerrados
  • Asignación de roles
    192.168.153.179 maestro base de datos maestro
    192.168.153.178 esclavo base de datos esclavo

Iniciar simulación

Primero, la fundación del entorno maestro-esclavo

esclavo de:

Inserte la descripción de la imagen aquí

maestro maestro:

Simular el reinicio por falla de la biblioteca principal

vim /etc/my.cnf
systemctl restart mariadb

Inserte la descripción de la imagen aquí

esclavo de:

vim /etc/my.cnf
systemctl restart mariadb

Inserte la descripción de la imagen aquí

Cerrar restablecer esclavo

MariaDB [(none)]> stop slave;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> reset slave;
Query OK, 0 rows affected (0.01 sec)

Crear biblioteca e insertar datos

MariaDB [(none)]> create database ceshi charset utf8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> use ceshi;
Database changed
MariaDB [ceshi]> create table a(id int(4),name char(12));
Query OK, 0 rows affected (0.01 sec)

MariaDB [ceshi]> insert a values(1,'测试');
Query OK, 1 row affected (0.00 sec)

MariaDB [ceshi]> select * from a;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 测试   |
+------+--------+
1 row in set (0.00 sec)

Ver la posición inicial antes de insertar datos y la posición después de insertar datos

Inserte la descripción de la imagen aquí

MariaDB [ceshi]> show master status ;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      633 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

Luego restaure el maestro y el esclavo y verifique si nuestra biblioteca maestra tiene los datos escritos cuando el nuevo maestro asumió el control

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+

esclavo de:

Importe los datos al archivo sql de acuerdo con el archivo de registro "mysql-bin.000004" de nuestro nuevo maestro antes y después de insertar los datos, y luego transfiera el archivo a nuestro maestro maestro

Exportar datos a un archivo sql

mysqlbinlog mysql-bin.000004 --start-position=245 --stop-position=6
33 > /root/mysql-bin.sql

Transferir al servidor maestro

Inserte la descripción de la imagen aquí

maestro maestro:

Importar datos a la biblioteca

MariaDB [(none)]> source /root/mysql-bin.sql

Importado exitosamente

MariaDB [ceshi]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| ceshi              |
| mysql              |
| performance_schema |
| test               |
+--------------------+
5 rows in set (0.00 sec)

MariaDB [ceshi]> use ceshi;
Database changed
MariaDB [ceshi]> select * from a;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 测试   |
+------+--------+
1 row in set (0.00 sec)

Datos importados con éxito

Supongo que te gusta

Origin blog.csdn.net/qq_49296785/article/details/109326517
Recomendado
Clasificación