? ? 今天用xtrabackup工具完整備份mysql數據庫的時候出現“./ib_logfile0 is of different”錯誤,具體的日志信息如下:
??? 我第一時間查詢了百度和谷歌都沒有找見相對應的答案。決定從錯誤日志入手,上面的日志提示說:mysql數據庫inondb的日志文件的大小和mysql配置文件設置的innodb日志文件大小不一致而導致的。
??? 首先查看一下mysql數據庫innodb的日志文件的大小,發現innodb的日志文件的大小為5242880字節,即日志文件為5M。
??? 緊接著查看一下mysql配置文件設置設置的innodb日志文件的大小,發現為16M,確實二者不一致。
??? 要想讓mysql innodb的日志文件的大小和mysql配置文件設置的innodb日志文件的大小一致真的很簡單,即修改mysql配置文件innodb_log_file_size = 5M即可。
??? 在重新備份,在備份的時候出現下面的錯誤,提示說重新建立了一個logfile2日志文件,在此備份的時候又出現“InnoDB: Error: log file ./ib_logfile2 is of different size 0 0 bytes”。
??? 怎么在備份的時候會多出來一個日志文件(logfile2)呢?再次修改mysql配置文件,指定日志文件的數量為2,之前innodb_log_files_in_group = 3,在備份的時候xtrabackup會根據mysql配置選項和日志文件做對比。
??? 最后終于備份成功了,xtrabackup在備份數據庫的時候出現的類似于“./ib_logfile0 is of different”主要原因是mysql日志配置選項和mysql日志文件大小不一致造成的,可以通過修改mysql的配置文件解決此類問題。