今早mysql同步失敗,主資料庫有530W而從資料庫只有去350W,幸虧是做備份要不然這個就是個事故了.
問題如下:
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.
解決方法如下:
- 我嘗試重新配置了下連結,
mysql> CHANGE MASTER TO
-> MASTER_HOST=`master_host_name`,
-> MASTER_USER=`replication_user_name`,
-> MASTER_PASSWORD=`replication_password`,
-> MASTER_LOG_FILE=`recorded_log_file_name`,
然後出現了,新的錯誤.
Slave_IO_Running: No
Slave_SQL_Running: Yes
Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: `Client requested master to start replication from position > file size`**
- 後來我嘗試了重新配置了position下位置
mysql> stop slave;
mysql> change master to master_log_file=`mysql-bin.000011`,master_log_pos=203;
mysql> start slave;
# 檢視狀態
show slave statusG
Slave_IO_State: Waiting for master to send event
Master_Host: 121.196.207.230
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000037
Read_Master_Log_Pos: 12367642
Relay_Log_File: DESKTOP-9EVDGPS-relay-bin.000002
Relay_Log_Pos: 127713
Relay_Master_Log_File: mysql-bin.000037
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
成功了,但是問題是,目前不清楚這個方案會不導致資料同步出錯,我需要以後檢驗一下.