Das Tool Mysqlcheck überprüft, repariert, optimiert und analysiert eine oder mehrere Tabellen des MySQL-Servers, um festzustellen, ob ein Problem vorliegt .
Sehen wir uns einige Beispiele für die Verwendung des Tools Mysqlcheck an . Wenn eine Tabelle beschädigt ist oder ein Problem aufweist, wird eine Fehlermeldung angezeigt.
Um das Tool zu verwenden, müssen wir uns in dem bin-Verzeichnis positionieren, in dem wir mysql installiert haben, wenn wir nicht wissen, wo wir es mit dem Befehl vom Terminal aus suchen können:
whereis mysql
Überprüfen Sie alle Tabellen in einer Datenbank
Der Befehl dafür lautet:
./mysqlcheck -c Datenbank -u Benutzer -p, Option -c zeigt Überprüfung an
Hier überprüfen wir alle phpmyadmin-Tabellen mit dem folgenden Befehl:
./mysqlcheck -c phpmyadmin -u root -p
Überprüfen Sie eine Tabelle in einer bestimmten Datenbank
Um alle Tabellen einer bestimmten Datenbank zu überprüfen, geben wir die Datenbank und den Tabellennamen an.
Wir überprüfen eine wp_post-Tabelle aus einer unlinkwp-Datenbank einer in WordPress erstellten Website:
./mysqlcheck -c unlinkwp wp_posts -u root -p
Überprüfen Sie alle Tabellen aller Datenbanken
Um alle Tabellen und Datenbanken zu überprüfen, müssen wir den Parameter -all-databases zusammen mit der Option -c verwenden, wie unten gezeigt:
./mysqlcheck -c -u root -p -all-databases
Kombinieren Sie die Prüf-, Optimierungs- und Reparaturoptionen von Tabellen. Nach der Überprüfung können wir die beschädigten Tabellen mit dem Befehl –auto-repair reparieren
Überprüfen und reparieren Sie beispielsweise alle Tabellen aller Datenbanken
./mysqlcheck -u root -p --auto-repair -c -o -all-database
Mit der Option -o (Optimize) können auch andere Funktionen wie die Optimierung und Reparaturfunktionalität kombiniert werden.
Wenn wir Informationen über die Ausführung und die CPU-Nutzungszeit der Überprüfungen wünschen, können wir den Parameter -debug-info hinzufügen, der Informationen sammelt, während sie überprüft werden. Fügen Sie die Debug-info hinzu , wie unten gezeigt. Dies ist sehr nützlich, wenn wir viele Tabellen und Datenbanken haben.
mysqlcheck --debug-info -u root -p -all-database
Wenn wir das Tool verwenden möchten, um die auf dem Server vorhandenen Datenbanken zu warten und automatisch zu optimieren, können wir mit cron eine Task zur Ausführung des Befehls programmieren.
Führen Sie zum Beispiel den Befehl zur Überprüfung und Optimierung jeden Tag um 5 Uhr morgens aus.
Führen Sie dazu vom Terminal aus den Befehl crontab -ey aus und fügen Sie die folgende Codezeile hinzu:
0 5 * * * mysqlcheck -c -o -u Benutzer -pKey> / dev / null 2> & 1
Wir können auch eine Reihe von Befehlen für die Pflege der Datenbank erstellen, darunter:
- Überprüfen Sie
- Optimieren
- Analysieren
- Reparieren
- Sicherung der Datenbank.
./mysqlcheck -u root -p --check --databases basedata_to_check ./mysqlcheck -u root -p --optimize --databases database_to_optimize ./mysqlcheck -u root -p --analyze --databases baededatos_a_analizar ./mysqldump -u root -p --create-options --routines --stößt die Datenbank an> ./backup.sql
Eine andere Möglichkeit besteht darin, alles in einer einzigen Codezeile zu tun, wie oben gezeigt:
./mysqlcheck -u root -p --auto-repair -c -o -a -all-database ./mysqldump -u root -p --create-options --routines --stößt die Datenbank an> ./backup.sql
Es ist wichtig zu bedenken, dass die automatische Ausführung, wenn wir diese Befehle in ein cron-Ereignis einfügen , viele Ressourcen sowohl des Prozessors als auch des Arbeitsspeichers verbrauchen und dazu führen kann, dass der Server außer Betrieb ist.