abecchiのブックの最新の日記
Couldn't read the MAX(ID) autoinc value from the index (PRIMARY)
MySQLで不具合に遭遇してDBが落ちてしまった。
システムをアップデートして一日後、MySQLがダウン。innodb_force_recoveryを設定して再起動しても、ログイン後SQLを実行した時点でエラーになり、最新データをエクスポートできない。最悪デイリーバックアップまでデータを戻して復旧させることを覚悟した。
エラーメッセージを見ていると、「Couldn't read the MAX(ID) autoinc value from the index (PRIMARY)」というメッセージが目に止まった。検索をかけるとMySQLのバグレポートに突き当たった。
http://bugs.mysql.com/bug.php?id=44030
要点は、
- InnoDB, auto_increment, テーブル定義の変更で発生
- 5.1.40でワークアラウンドが提供され、エラーは発生するもののデータのエクスポートが可能になる
というものだった。今サーバーで使っているバージョンが5.1.37だったので手元のWindowsマシンに最新の5.1.44をインストール、サーバーのDBディレクトリをまるごとコピーしてきて5.1.44で読み込ませた上でデータをエクスポート、それをクリーンインストールしたDBサーバーにインポートして何とか復旧した。
久々に徹夜した。
コメント
コメントできません (ログインするとコメントできます)
コメントはまだありません