コメントを追加

[PC][Drupal] データベースの修復(phpMyAdmin)

Submitted byshin on土, 2009-12-05 17:40

先日やったDrupalのアップグレード以来Drupalは安心‥と思っていたのはつかの間で、今度はログ画面に正体不明のエラー(データベース構造が壊れているっぽい)メッセージが溢れるように記録されるようになってしまった。

まぁ、外からアクセスする分には全然問題ないのでしばらく放置していたんだけど、ログ画面がこのエラーメッセージで一杯(一人がアクセスすると1ページ埋まったりする)になると、他のエラーがわからなくなるし、 ログには「"Cache_filter"というテーブルが壊れているのでリペアしなさい」と書いてあるのでリペアする方法を探し出せば何とかなるはず。

  1. 直接MySQLにアクセスして修復する方法はわかった
    MySQL5.1や、 MySQL4.1でのデータベースの修復方法はわかったんだけど、 これは難しそう(という程でもないけど)なので他の方法を更に探す。
  2. phpMyAdminで修復する方法がわかった
    もう少し調べると、phpMyAdminの場合は、①データベースを選択②ログに報告されているテーブル(cache_filter)をチェック③"チェックしたものを:"/"テーブルを修復する" でできるらしい。
  3. やってみるぞっと
    という訳で、サイトをオフラインにして、データベースのバックアップをして‥ありゃ?バックアップコマンドを実行しようとすると(内部でmysqldumpが動いています)、
    mysqldump: Got error: 145: Table './***/cache_filter' is marked as crashed and should be repaired when using LOCK TABLES なぁ~んてメッセージを出して、ダンプが出来ない状態になっていた。最近データベースのバックアップが出来ていなかったということになる。あぶなかった。
    仕方が無いのでmyPhpAdminでデータの修復を図る。操作画面を見ると確かに問題のテーブル (cache_filter)だけ、"使用中"になっていてなんとなくおかしいっぽい。まぁ、ともかく チェックして修復したら、


    という画面になった。
  4. とりあえずOK?
    で、サイトをオンラインに戻した所、今までわんさか出ていたメッセージが出なくなったので 完了ということかな?
このフィールドの内容は作成者のみが確認でき、一般には公開されません。

プレーンテキスト

  • HTMLタグは利用できません。
  • 行と段落は自動的に折り返されます。
  • ウェブページのアドレスとメールアドレスは自動的にリンクに変換されます。
CAPTCHAこの質問はあなたが人間の訪問者であるかどうかをテストし、自動化されたスパム送信を防ぐためのものです。