mysql slave 損害一例

babyyellow發表於2013-02-25
2-24 號下午2點左右,238.192主庫當機了,

及時的處理了問題, 服務恢復。

檢查從庫的時候報錯了:

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Client requested master to start replication from impossible position'

日誌裡記錄了bin-log 的資訊:  ‘mysql-bin-217.log'  position 29727668

我們從主庫的日誌裡看到了一個錯誤:

[code]
130224 14:14:40 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 17843973211
130224 14:14:40  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 17843973319
InnoDB: Last MySQL binlog file position 0 29727668, file name ./mysql-bin.000217
130224 14:14:45  InnoDB: Waiting for the background threads to start
130224 14:14:46 InnoDB: 1.1.5 started; log sequence number 17843973319
130224 14:14:46 [Note] Recovering after a crash using mysql-bin
130224 14:14:46 [ERROR] Error in Log_event::read_log_event(): 'read error', data_len: 1690, event_type: 24
130224 14:14:46 [Note] Starting crash recovery...
130224 14:14:46 [Note] Crash recovery finished.
[/code]

資料庫在這個bin-log的position上出問題了,應該是當時這個position 沒有寫到log裡,我們在mysql_binlog dump 這個日誌的時候,也報錯了

這個日誌可能壞掉了。

馬上對主庫執行全備份。

當時主庫的主機假死了,只能ping,無法登入了,所以就重啟了,這個過程可能造成了,bin-log的資料寫磁碟出現故障。


slave 機器無法繼續同步了,用xtrabackup  備份主庫,然後重做從庫了。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/133735/viewspace-754669/,如需轉載,請註明出處,否則將追究法律責任。

相關文章