先日やったDrupalのアップグレード以来Drupalは安心‥と思っていたのはつかの間で、今度はログ画面に正体不明のエラー(データベース構造が壊れているっぽい)メッセージが溢れるように記録されるようになってしまった。
まぁ、外からアクセスする分には全然問題ないのでしばらく放置していたんだけど、ログ画面がこのエラーメッセージで一杯(一人がアクセスすると1ページ埋まったりする)になると、他のエラーがわからなくなるし、 ログには「"Cache_filter"というテーブルが壊れているのでリペアしなさい」と書いてあるのでリペアする方法を探し出せば何とかなるはず。
- 直接MySQLにアクセスして修復する方法はわかった
MySQL5.1や、 MySQL4.1でのデータベースの修復方法はわかったんだけど、 これは難しそう(という程でもないけど)なので他の方法を更に探す。 - phpMyAdminで修復する方法がわかった
もう少し調べると、phpMyAdminの場合は、①データベースを選択②ログに報告されているテーブル(cache_filter)をチェック③"チェックしたものを:"/"テーブルを修復する" でできるらしい。
- やってみるぞっと
という訳で、サイトをオフラインにして、データベースのバックアップをして‥ありゃ?バックアップコマンドを実行しようとすると(内部でmysqldumpが動いています)、
mysqldump: Got error: 145: Table './***/cache_filter' is marked as crashed and should be repaired when using LOCK TABLES
なぁ~んてメッセージを出して、ダンプが出来ない状態になっていた。最近データベースのバックアップが出来ていなかったということになる。あぶなかった。
仕方が無いのでmyPhpAdminでデータの修復を図る。操作画面を見ると確かに問題のテーブル (cache_filter)だけ、"使用中"になっていてなんとなくおかしいっぽい。まぁ、ともかく チェックして修復したら、
という画面になった。 - とりあえずOK?
で、サイトをオンラインに戻した所、今までわんさか出ていたメッセージが出なくなったので 完了ということかな?
最近のコメント
…