欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql主从同步因断电产生的不能同步问题_MySQL

程序员文章站 2022-06-17 16:22:13
...
bitsCN.com

mysql主从同步因断电产生的不能同步问题

偶尔因为断电导致mysql slave 出现复制错误“Could not parse relay log event entry”

Could not parse relay log event entry. The possible reasons are: the master's binary log is corrupted (you can check this by running 'mysqlbinlog' on the binary log), the slave's relay log is corrupted (you can check this by running 'mysqlbinlog' on the relay log), a network problem, or a bug in the master's or slave's MySQL code. If you want to check the master's binary log or slave's relay log, you will be able to know their names by issuing 'SHOW SLAVE STATUS' on this slave.

先查询下状态

show slave status /G

Master_Host: 192.168.2.51

Master_User: backupuser

Master_Port: 3306

Connect_Retry: 60

Master_Log_File: mysql-bin.000078

Read_Master_Log_Pos: 984673998

Relay_Log_File: memcached-relay-bin.000039

Relay_Log_Pos: 747157846

Relay_Master_Log_File: mysql-bin.000078

Slave_IO_Running: Yes

Slave_SQL_Running: No

Skip_Counter: 0

Exec_Master_Log_Pos: 747157709

Relay_Log_Space: 984679197

如果可以确定主服务器没有问题的话,那么重置下从服务器的同步位置就可以了。

如上可以对应的指令为:

stop slave;

CHANGE MASTER TO MASTER_LOG_FILE = 'mysql-bin.000078', MASTER_LOG_POS =747157709;

start slave;

再用 show slave status /G 查看状态。如下:

Master_Log_File: mysql-bin.000078

Read_Master_Log_Pos: 879029246

Relay_Log_File: memcached-relay-bin.000002

Relay_Log_Pos: 1336369

Relay_Master_Log_File: mysql-bin.000078

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: 748493843

Relay_Log_Space: 131871772

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: 339469

好了到现在搞定了。

还有说法是内存不够用产生的,有人清除了几个不用的进程释放内存后, stop slave; start slave;然后好了,我遇到的不是这个情况,如果你遇到了,按我上面的不能解决的话,可以试着释放内存看看。

bitsCN.com
相关标签: mysql