Wie man die Konsistenz der Moodle-Datenbank prüft
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:
- Im Bereich Datenbanken wählen Sie Ihre Moodle-Datenbank aus.
- Klicken Sie auf den Reiter SQL und geben Sie den SQL-Befehl
REPAIR TABLE mdl_tablename
ein. - 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
- Forumsbeitrag - Skript zur Optimierung der Moodle-Datenbank
- Dokumentation zur Optimierung und Reparatur der Moodle-Datenbank
- Database Journal article on repairing database corruption in MySQL -(englisch)