mysql主從同步問題整理

Victorchi發表於2018-08-13

今早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

成功了,但是問題是,目前不清楚這個方案會不導致資料同步出錯,我需要以後檢驗一下.

相關文章