《Mysql實例MySQL5.1主從同步出現Relay log read failure錯誤解決方法》要點:
本文介紹了Mysql實例MySQL5.1主從同步出現Relay log read failure錯誤解決方法,希望對您有用。如果有疑問,可以聯系我們。
MYSQL實例眾所周知MySQL5.1的Replication是比較爛的.MySQL的每一個版本更新關于同步方面每次都是可以看到一大堆.但MySQL 5.1性能是比較突出的.所以經不住誘惑使用MySQL 5.1.所以也要經常遇到一些Bug.如:
代碼如下:
mysql> show slave status\G
*************************** 1. row ***************************
?????????????? Slave_IO_State: Waiting for master to send event
????????????????? Master_Host: 192.168.10.118
????????????????? Master_User: repl_wu
????????????????? Master_Port: 3306
??????????????? Connect_Retry: 30
????????????? Master_Log_File: mysql-bin.005121
????????? Read_Master_Log_Pos: 64337286
?????????????? Relay_Log_File: relay-bin.003995
??????????????? Relay_Log_Pos: 18446697137031827760
??????? Relay_Master_Log_File: mysql-bin.005121
???????????? Slave_IO_Running: Yes
??????????? Slave_SQL_Running: No
????????????? Replicate_Do_DB:
????????? Replicate_Ignore_DB:
?????????? Replicate_Do_Table:
?????? Replicate_Ignore_Table:
????? Replicate_Wild_Do_Table:
? Replicate_Wild_Ignore_Table:
?????????????????? Last_Errno: 1594
?????????????????? Last_Error: Relay log read failure: 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.
???????????????? Skip_Counter: 0
????????? Exec_Master_Log_Pos: 4
????????????? Relay_Log_Space: 64337901
????????????? 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: NULL
Master_SSL_Verify_Server_Cert: No
??????????????? Last_IO_Errno: 0
??????????????? Last_IO_Error:
?????????????? Last_SQL_Errno: 1594
?????????????? Last_SQL_Error: Relay log read failure: 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.
1 row in set (0.00 sec)
MYSQL實例從上面可以看到是中繼日值或是Master上的日值出問題了.
MYSQL實例首先如果是中繼日值壞掉,那只需要找到同步的時間點,然后重新同步,這樣就可以有新的中繼日值了.如果Master上的日值壞了就麻煩了.
MYSQL實例從經驗來看,這是中繼日值出問題了.處理方法:
MYSQL實例需要找到同步的點.
MYSQL實例日值為:Master_Log_File: mysql-bin.005121,Relay_Master_Log_File: mysql-bin.005121以Relay_Master_Log_File為準,Master_Log_File為參考.
MYSQL實例日值執行時間點:
代碼如下:
Exec_Master_Log_Pos: 4
MYSQL實例那么現在就可以:
代碼如下:
mysql>stop slave;
?
mysql>change master to Master_Log_File='mysql-bin.005121', Master_Log_Pos=4;
??
mysql>start slave;
?
mysql>show slave status\G;
MYSQL實例進行確認.
MYSQL實例建議:
MYSQL實例在使用MySQL-5.1.36以下的版本的同學,請盡快升級到MySQL-5.1.40 & MySQL-5.1.37sp1
轉載請注明本頁網址:
http://www.fzlkiss.com/jiaocheng/1038.html