錯誤問題:InnoDB: page … log sequence … number is in the future!
我知道以前有人問過這個問題,但我現在真的被困住了,不知道如何繼續解決這個問題,我真的很想知道,是什麼導致了這個錯誤的出現。
我們有一個複制工作沒有任何問題。我們的設置包括一個數據庫主機和四個從機,都執行 percona mysql,相同版本(5.5.x)。前幾天,我們的數據庫管理員因為硬體問題而死了。所以我們繼續讓一個奴隸成為新的主人。應該問題不大,之前確實沒問題。但是現在在重新啟動之後,我的系統日誌中不斷收到很多日誌條目,例如:
Mar 15 13:17:25 dbslave3 mysqld: 120315 13:17:25 InnoDB: Error: page 263337 log sequence number 34159788445 Mar 15 13:17:25 dbslave3 mysqld: InnoDB: is in the future! Current system log sequence number 1096541424.
好的,所以我使用 xtrabackup(我之前用於此操作)從新主伺服器創建轉儲,並使用轉儲將其應用於從伺服器。沒有成功。此錯誤消息仍然存在相同的問題。接下來我嘗試了以下方法:
我使我的站點離線並確保所有數據都已復製到所有從站-確實:複製正在工作!沒有數據失去,每個從站都擁有它應該擁有的所有數據。
接下來我
reset slave
在奴隸上做了一個,在主人身上我做了一個reset master
。在我看來,這應該重置所有二進制日誌並使用新的序列號重新開始。接下來我做了一個show master status
並使用了新的序列文件和編號作為change master to ...
從屬上的命令。我再次啟動了複製並再次使我的網站上線。沒有成功!仍然是同樣的問題。所以我最大的問題:
怎麼回事!?這個錯誤怎麼會發生在:
- 使用 xtrabackup 的新設置從站
- 在 master 和 slave 上的 binlog 重置後
如何解決?我的意思是:我讀了很多關於在數據庫中插入千兆字節數據的文章,“序列指針可以趕上”……但這聽起來很像一個骯髒的黑客,不能真正解決這個問題,不!?我最擔心的是:這個問題真的用這個骯髒的黑客解決了嗎?
任何其他想法我能做什麼?順便說一句,使用 mysqldump 轉儲數據並再次導入它是沒有選擇的,因為數據庫太大了,再次導入它需要很長時間。
更新
我還做的是:轉儲其中一個奴隸,包括:完全解除安裝mysql,刪除所有與mysql相關的東西,包括binlog、數據庫等,然後重新設置——但沒有成功。這就是我在上面詢問的全新安裝。
似乎沒有人對此問題有真正的解決方案,至少我無法探勘任何有用的東西。但顯然它有幫助,讓它執行並定期清理日誌,所以你的伺服器不會被日誌填滿……至少,因為有些日子我沒有更多的日誌條目……
這一切都很奇怪——以我的拙見。