データベースの破損を確認する方法

データベースの破損は通常、ハードウェア(特にディスクベース)の障害、またはディスクがいっぱいになったときに発生します。典型的な症状は、このメッセージが表示されている、ログインの失敗です。

セッション置換:テーブル './moodle/mdl_sessions2'はクラッシュしているとマークされているため、修復する必要があります

この問題はほとんどMySQLに影響するようです。

MySQL

mysqlcheckコマンドを使用して問題を修復することができます(あなたが入力するコマンドは太字であり、データベース名は 'moodle'で、そのタイプはMySQLであると仮定します)。

 #mysqlcheck -u moodleuser -p  - オートリペアムードル
パスワードを入力する:
moodle.adodb_logsql
moodle.mdl_assignment OK
moodle.mdl_assignment_submissions OK
...
moodle.mdl_log
エラー:テーブル './moodle/mdl_log'はクラッシュしているとマークされているため、修復する必要があります
...
moodle.mdl_sessions2
エラー:テーブル './moodle/mdl_sessions2'はクラッシュしているとマークされているため、修復する必要があります

テーブルを修復する
moodle_18_latest.mdl_log OK
moodle_18_latest.mdl_sessions2 OK

mysqlcheckコマンドを実行するときは、mysqlデータベースサーバーが稼働している必要があります。テーブルに問題がある場合は、上記のように自動修復オプションでそれらを修正します。修復処理が完了するまでに時間がかかることがあります。コマンドを再実行して、すべて問題ないことを再確認してください。

個々のMoodleテーブルはMySQL Admin / phpMyAdminを使用して確認できます。

個々のMoodleテーブルは以下のようにMySQL Admin / PHPMyAdminを使用して修復することができます。

  1. データベースセクションで、Moodleデータベースを選択します。
  2. [SQL]タブをクリックし、[データベースmoodleでSQLクエリを実行]フィールドタイプをクリックします。
    修復テーブルmdl_tablename 
  3. Goボタンをクリックしてください。
たとえば、Moodleログテーブルを修復するには、次のように入力します。
修理用テーブルmdl_log 
同様の方法でMoodleログテーブルをチェックして、
表MDL_LOGをチェック
。これはOKと言うか、何が悪いのかあなたに言うでしょう。たとえば、「Tableとクラッシュしている」と表示されることがあります。

その他のデータベース

前述したように、この問題は通常MySQLでのみ発生します。

関連情報