今天用xtrabackup工具完整備份mysql資料庫的時候出現“./ib_logfile0 is of different”錯誤,具體的日誌資訊如下:
650) this.width=650;" border="0" src="http://www.bkjia.com/uploads/allimg/131229/20003MW6-0.jpg" alt="" />
我第一時間查詢了百度和Google都沒有找見相對應的答案。決定從錯誤記錄檔入手,上面的日誌提示說:mysql資料庫inondb的記錄檔的大小和mysql設定檔設定的innodb記錄檔大小不一致而導致的。
首先查看一下mysql資料庫innodb的記錄檔的大小,發現innodb的記錄檔的大小為5242880位元組,即記錄檔為5M。
650) this.width=650;" border="0" src="http://www.bkjia.com/uploads/allimg/131229/20003H034-1.jpg" alt="" />
緊接著查看一下mysql設定檔設定設定的innodb記錄檔的大小,發現為16M,確實二者不一致。
650) this.width=650;" border="0" src="http://www.bkjia.com/uploads/allimg/131229/20003Mb9-2.jpg" alt="" />
要想讓mysql innodb的記錄檔的大小和mysql設定檔設定的innodb記錄檔的大小一致真的很簡單,即修改mysql設定檔innodb_log_file_size = 5M即可。
在重新備份,在備份的時候出現下面的錯誤,提示說重建立立了一個logfile2記錄檔,在此備份的時候又出現“InnoDB: Error: log file ./ib_logfile2 is of different size 0 0 bytes”。
650) this.width=650;" border="0" src="http://www.bkjia.com/uploads/allimg/131229/20003J626-3.jpg" alt="" />
怎麼在備份的時候會多出來一個記錄檔logfile2)呢?再次修改mysql設定檔,指定記錄檔的數量為2,之前innodb_log_files_in_group = 3,在備份的時候xtrabackup會根據mysql配置選項和記錄檔做對比。
650) this.width=650;" border="0" src="http://www.bkjia.com/uploads/allimg/131229/20003K517-4.jpg" alt="" />
最後終於備份成功了,xtrabackup在備份資料庫的時候出現的類似於“./ib_logfile0 is of different”主要原因是mysql日誌配置選項和mysql記錄檔大小不一致造成的,可以通過修改mysql的設定檔解決此類問題。
650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131229/20003L552-5.jpg" />
本文出自 “樸實的追夢者” 部落格,請務必保留此出處http://sfzhang88.blog.51cto.com/4995876/904020