Summary: Die MySQL-Datenbank kann aus verschiedenen Gründen beschädigt oder beschädigt werden. In diesem Beitrag werden wir sehen, wie Sie die eingebauten Werkzeuge in MySQL verwenden können, um beschädigte oder beschädigte MySQL-Datenbanken zu reparieren. Wir werden auch ein MySQL-Reparaturtool eines Drittanbieters erwähnen, mit dem Sie beschädigte oder beschädigte Datenbanken einfach reparieren können. Manchmal können Hardware- oder Softwareprobleme MySQL-Datenbanken beschädigen oder korrumpieren. Sie können jedoch die in MySQL eingebauten Werkzeuge verwenden, um beschädigte oder beschädigte Datenbanken zu reparieren. Im Folgenden wird gezeigt, wie Sie Mysqlcheck - ein allgemeines, in MySQL integriertes Werkzeug - verwenden, um beschädigte Datenbanken zu reparieren.
Wie verwendet man den Befehl Mysqlcheck in MySQL, um Datenbanken zu reparieren?
Mysqlcheck ist ein Befehl, der zur Wartung von Tabellen verwendet wird. Mit diesem Befehl können Sie Tabellen in einer Datenbank überprüfen, die Datenbank reparieren, die Leistung der Tabellen optimieren oder die Tabellen analysieren.
Es ist zu beachten, dass dieser Befehl die Tabellen sperrt. Außerdem muss der MySQL-Server laufen, damit Sie den Befehl verwenden können.
Der folgende Befehl zeigt den Status des Servers in Windows an:
sc Abfrage mysqlXX
Hier XX ist die MySQL-Version.
Der Befehl liefert die folgenden Informationen:
- Dienstname ist der Name des Dienstes.
- Der Typ WIN32_OWN_PROCESS bedeutet, dass dieser Dienst nicht von anderen Diensten abhängig ist.
- Der Status des Dienstes. In diesem Fall ist er RUNNING. Er könnte auch STOPPED oder PAUSED sein.
- Wenn der WIN32_EXIT_CODE 0 ist, bedeutet dies, dass der Dienst ohne Probleme beendet wurde.
- CHECKPOINT gleich 0 bedeutet, dass es keinen Kontrollpunkt gibt. Dieser Wert ist für den internen Gebrauch bestimmt.
- WAIT_HINT schätzt die Zeit in ms, die der Dienst benötigt, um den Vorgang zu beenden.
Schauen wir uns einige Beispiele für die Ausführung des Befehls an.
Führen Sie im Ordner MySQL bin diesen Befehl in der Befehlszeile aus:
Mysqlcheck -repair stellardb
Dieser Befehl repariert die Datenbank namens stellardb.
Der folgende Befehl komprimiert die vom Befehl verwendete Verbindung.
mysqlcheck -r -compress stellardb
Hinweis: Die Optionen -repair und -r sind identisch.
Im folgenden Beispiel wird die Datenbank bei Bedarf automatisch repariert. Die Option auto-repair prüft den Status der Tabellen. Wenn Fehler vorhanden sind, werden sie repariert.
mysqlcheck -r -auto-repair stellardb
Die folgende Option wird verwendet, um nur die Tabellen zu prüfen, die nicht ordnungsgemäß geschlossen wurden.
mysqlcheck -fast stellardb
Wenn Sie eine Fehlersuche wünschen, können Sie die Option -debug verwenden. Im folgenden Beispiel wird ein Protokoll in der Datei c:\log\debug.log erstellt.
mysqlcheck -debug=d:t:o,c:\log\debug.log stellardb
Im obigen Beispiel:
- d bedeutet Debuggen.
- t bedeutet, dass der Zeitstempel in die Protokolldatei aufgenommen werden soll.
- o bedeutet, dass Sie sich bei einem Dateinamen anmelden.
Schließlich gibt es noch die Option “Analyse”, mit der Sie die Statistiken und die Schlüsselverteilung einer Tabelle überprüfen können. Das folgende Beispiel zeigt, wie Sie diese Option verwenden können.
mysqlcheck -analyze stellardb
Eine alternative Lösung
Manchmal reicht es nicht aus, den Befehl mysqlcheck zu verwenden. Sie müssen andere Werkzeuge verwenden, um die beschädigte MySQL-Datenbank oder Datenbanken zu reparieren. Ein solches Werkzeug ist Stellar Repair for MySQL.
Um die Datenbank zu reparieren, müssen Sie den MySQL-Dienst anhalten und eine Kopie des Ordners mit der Datenbank erstellen.
Sie können die Dienste über die Windows-Dienste beenden.
Geben Sie in der Windows-Suchleiste Dienste ein und klicken Sie auf die Anwendung Dienste. Klicken Sie auf der Seite Dienste mit der rechten Maustaste auf den Dienst und wählen Sie Anhalten.
Suchen Sie nach dem Stoppen nach den Datenbanken. Sie sind normalerweise an folgendem Ort gespeichert:
C:\ProgrammDatenMySQLMySQL Server X.X\Daten
X.X ist die Versionsnummer.
Kopieren Sie den Datenordner an einen anderen Ort. Sie können dies manuell in Windows oder über die Befehlszeile tun:
xcopy /s /e /i “C:\ProgramDataMySQL\MySQL Server 8.0\Data” “c:\backup\data”
Sobald die Daten kopiert sind, öffnen Sie Stellar Repair for MySQL, klicken auf die Schaltfläche Durchsuchen und wählen den Ordner im Verzeichnis c:\backup\data.
Wählen Sie die zu reparierende(n) Datenbank(en) aus und klicken Sie auf die Schaltfläche Reparieren.
Drücken Sie auf das Symbol Speichern, um die Objekte zu speichern.
Sie können die Informationen in einer Datenbank speichern und wiederherstellen oder sie in verschiedene Formate wie Excel, HTML und CSV exportieren.
Schlussfolgerung
In diesem Artikel haben wir verschiedene Optionen besprochen, die der Befehl mysqlcheck zum Prüfen und Reparieren der MySQL-Datenbank bietet. Wenn der Befehl die Datenbank nicht reparieren kann, können Sie Stellar Repair for MySQL verwenden. Es ist eine leistungsstarke Software, um beschädigte MySQL-Datenbanken zu reparieren und alle Datenbankobjekte wiederherzustellen.