Escriba el título del directorio aquí
- prefacio
- El primer capítulo encuentra la máquina virtual correspondiente a la base de datos maestra y la base de datos esclava.
- Capítulo 2 Iniciar la replicación maestro-esclavo
-
- 2.1 MOSTRAR ESTADO DE ESCLAVO\G;
- 2.2 Slave_IO_Running: No
- 2.3 Soluciones
-
- 2.3.1 Ingrese la entrada en el esclavo y detenga la sincronización desde la biblioteca:
- 2.3.2 Ingrese la entrada en el maestro y borre el registro
- 2.3.3 Ingrese la entrada en el maestro y registre la información de estado
- Después de 2.3.4, ingrese a la configuración de la biblioteca esclava, no toque la biblioteca principal
- 2.3.5 Pruebas
- 2.3.6 No hay datos del inicio de la biblioteca
- 2.7 Después de la prueba, se verifica que efectivamente hay un dato más
- Capítulo 3 Verificación de la biblioteca principal.
prefacio
En realidad, este es un proyecto construido hace mucho tiempo. Cuando me mudé en mayo, el entrevistador me preguntó qué características avanzadas de la base de datos conocía y si había realizado la implementación del clúster. Y luego está la arquitectura maestro-esclavo en el distribución. Pero en este momento, implica algunas cuestiones principales en la arquitectura maestro-esclavo.
Primero consideremos la arquitectura de un maestro, un esclavo.
Este artículo no es un proceso de construcción de 0 a 1, sino una versión de práctica de 1 a 1.01. Si desea construirlo, puede ver la explicación de Master Kong en el sitio web de Xiaopo. .
El primer capítulo encuentra la máquina virtual correspondiente a la base de datos maestra y la base de datos esclava.
1.1 Verifique la IP de la máquina virtual correspondiente
En el momento de la configuración, había demasiadas máquinas virtuales y era imposible saber cuál de estas máquinas virtuales era cuál.
Como se muestra en la figura anterior, se crearon demasiados enlaces.
Para determinar si la base de datos está instalada:
1,2 rpm para saber si la base de datos está instalada
rpm -qa | grep mysql
Mira este resultado
[root@centos121 ~]# rpm -qa | grep mysql
mysql-community-client-plugins-8.0.25-1.el7.x86_64
mysql-community-client-8.0.25-1.el7.x86_64
mysql-community-common-8.0.25-1.el7.x86_64
mysql-community-libs-8.0.25-1.el7.x86_64
mysql-community-server-8.0.25-1.el7.x86_64
1.3 Encuentre información detallada sobre la configuración de la base de datos
Este paso debe determinar qué
solución final es vim my.cnf
mirar la información de configuración una por una, porque la estaba configurando de acuerdo con Mysql de Master Kong en Shang Silicon Valley, y al
mismo tiempo mirar el documento de configuración de referencia inicial.
Las características del nodo maestro se muestran
en la siguiente figura, en el nodo esclavo, my.cnf es así:
escriba las direcciones IP de estos dos dispositivos
主:192.168.80.121
从:192.168.80.120
Capítulo 2 Iniciar la replicación maestro-esclavo
El inicio no fue muy sencillo y fue difícil encontrar la biblioteca principal y la biblioteca esclava, como resultado, no pude encontrarlas.
2.1 MOSTRAR ESTADO DE ESCLAVO\G;
La oración del título es realmente problemática, el meollo del problema es que este ;
símbolo no se puede agregar
ERROR:
No query specified
2.2 Slave_IO_Running: No
Este error es específicamente así. Es similar a un problema con la lectura del registro binario. En la base de datos esclava, informará un error de 1236.
Last_IO_Error: Got fatal error 1236 from master解决方法
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'
Last_SQL_Errno: 0
La biblioteca maestro-esclavo no está sincronizada debido a que se borraron datos
2.3 Soluciones
2.3.1 Ingrese la entrada en el esclavo y detenga la sincronización desde la biblioteca:
mysql> stop slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)
2.3.2 Ingrese la entrada en el maestro y borre el registro
mysql> flush logs;
Query OK, 0 rows affected (0.02 sec)
2.3.3 Ingrese la entrada en el maestro y registre la información de estado
mysql> show master status;
+----------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+----------------+----------+--------------+------------------+-------------------+
| xyt-bin.000005 | 156 | | | |
+----------------+----------+--------------+------------------+-------------------+
Después de 2.3.4, ingrese a la configuración de la biblioteca esclava, no toque la biblioteca principal
mysql> CHANGE MASTER TO MASTER_LOG_FILE='xyt-bin.000005',MASTER_LOG_POS=156;
Query OK, 0 rows affected, 3 warnings (0.01 sec)
mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.03 sec)
mysql> SHOW SLAVE STATUS\G
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.80.121
Master_User: slave1
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: xyt-bin.000005
Read_Master_Log_Pos: 156
Relay_Log_File: centos121-slave-relay-bin.000002
Relay_Log_Pos: 322
Relay_Master_Log_File: xyt-bin.000005
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 156
Relay_Log_Space: 541
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_UUID: d2f34f1e-df67-11ed-bf42-000c29229240
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
Master_public_key_path:
Get_master_public_key: 0
Network_Namespace:
1 row in set, 1 warning (0.00 sec)
2.3.5 Pruebas
2.3.6 No hay datos del inicio de la biblioteca
2.7 Después de la prueba, se verifica que efectivamente hay un dato más
Capítulo 3 Verificación de la biblioteca principal.
121 es de hecho el nodo maestro,
la configuración de verificación secundaria está completa