Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Wie man die Konsistenz der Moodle-Datenbank prüft.

Wie man die Konsistenz der Moodle-Datenbank prüft

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Inkonsistenzen in der Moodle-Datenbank treten in der Regel dann auf, wenn ein Hardwarefehler (insbesondere bei der Festplatte) auftritt oder die Festplatte voll ist. Typische Symptome sind Probleme beim Anmelden mit der Fehlermeldung:

Session Replace: Table './moodle/mdl_sessions2' is marked as crashed and should be repaired

Dieses Problem betrifft hauptsächlich MySQL-Datenbanken.

MySQL

Das Problem kann mit Hilfe des Befehls mysqlcheck gelöst werden. Im folgenden wird das, was Sie als Befehl auf der Kommandozeile Ihres Servers eingeben müssen, fett gedruckt, und wir nehmen an, dass Ihre Moodle-Datenbank moodle heißt:

#mysqlcheck -u moodleuser -p --auto-repair moodle
Enter password:
moodle.adodb_logsql                      OK
moodle.mdl_assignment                    OK
moodle.mdl_assignment_submissions        OK
...
moodle.mdl_log
error    : Table './moodle/mdl_log' is marked as crashed and should be repaired
...
moodle.mdl_sessions2
error    : Table './moodle/mdl_sessions2' is marked as crashed and should be repaired

Repairing tables
moodle_18_latest.mdl_log                           OK
moodle_18_latest.mdl_sessions2                     OK

Der MySQL-Server muss laufen, wenn Sie den Befehl mysqlcheck ausführen. Falls es in den Tabellen Inkonsistenzen gibt, werden diese durch die Option --auto-repair behoben (siehe obiges Beispiel). Beachten Sie, dass die Ausführung des Befehls lange dauern kann. Führen Sie den Befehl mysqlcheck sicherheitshalber ein zweites Mal aus, um zu prüfen, ob nun alle Tabellen OK sind.

Inkonsistenzen in einzelnen Tabellen der Moodle-Datenbank können mit Hilfe von MySQL Admin oder phpMyAdmin wie folgt behoben werden:

  1. Im Bereich Datenbanken wählen Sie Ihre Moodle-Datenbank aus.
  2. Klicken Sie auf den Reiter SQL und geben Sie den SQL-Befehl REPAIR TABLE mdl_tablename ein.
  3. Klicken Sie auf den Button Go..

Beispiel: Wenn Sie die Logdaten-Tabelle mdl_log reparieren wollen, geben Sie den SQL-Befehl REPAIR TABLE mdl_log ein.

Andere Datenbanken

Wie bereits erwähnt, tritt dieses Problem normalerweise nur bei MySQL-Datenbanken auf.

Siehe auch