Dieser Artikel erklärt, wie Sie Ihre Datenbank in MySQL® auf Beschädigungen überprüfen. Warum kommt es in einer Datenbank zu Beschädigungen? Es kann aufgrund von Hardware, insbesondere plattenbasierten Fehlern oder wenn eine Platte voll ist, passieren.
Symptome
Das Hauptsymptom:Sie versuchen sich anzumelden und erhalten eine Fehlermeldung in der Konsole:Sitzung ersetzen:Tabelle ‚./DB_NAME/mdl_sessions2‘ ist als abgestürzt markiert und sollte repariert werden .
Lösungen
Sie können dieses Problem mit mysqlcheck
überprüfen und beheben Befehl mit dem --auto-repair DBNAME
Flagge. Wenn Sie --auto-repair
hinzufügen markiert, versucht MySQL, die Beschädigung in Ihrer Datenbank zu reparieren.
# mysqlcheck -u USER_NAME -p --auto-repair DB_NAME
Enter password:
db_test.adodb_logsql OK
db_test.mdl_assignment OK
db_test.mdl_assignment_submissions OK
...
db_test.mdl_log
error : Table './db_test/mdl_log' is marked as crashed and should be repaired
...
db_test.mdl_sessions2
error : Table './db_test/mdl_sessions2' is marked as crashed and should be repaired
Repairing tables
db_test_18_latest.mdl_log OK
db_test_18_latest.mdl_sessions2 OK
Wenn Sie nur überprüfen möchten, ob Ihre Datenbank beschädigt ist oder nicht, führen Sie den folgenden Befehl aus:
# mysqlcheck -c DATABASE_NAME -u USER_NAME -p
Wenn Sie alle Datenbanken und Tabellen auf Ihrem Server überprüfen möchten, fügen Sie das Flag --all-databases
hinzu und lassen Sie den Namen der Datenbank weg, wie im folgenden Befehl gezeigt:
# mysqlcheck -c -u USER_NAME -p --all-databases
Wenn Sie nur eine Tabelle in einer Datenbank überprüfen möchten, führen Sie den folgenden Befehl aus:
# mysqlcheck -a DB_NAME TABLE_NAME -u USER_NAME -p
Schlussfolgerung
Mit den in diesem Artikel vorgestellten Befehlen können Sie jetzt Ihre MySQL-Datenbank oder -Tabelle auf Beschädigungen überprüfen.