Die Optimierung Ihrer MySQL-Datenbanktabellen reorganisiert Tabellen- und Indexdaten, verringert den Speicherverbrauch und verbessert die I/O-Effizienz. Dies ist besonders nützlich, wenn phpMyAdmin bei großen Datenbanken Timeouts auftritt, da SSH eine zuverlässigere Methode für die Optimierung bietet.
Wie es geht
-
Schritt 1: Verbinden via SSH und Ausführen des Optimierungsbefehls
Verwenden Sie den folgenden Befehl, um alle Tabellen in Ihrer Datenbank zu optimieren:
mysql -u username -ppassword -h hostname databasename -e "show tables" | grep -v Tables_in | grep -v "+" | gawk '{print "optimize table " $1 ";"}' | mysql -u username -ppassword -h hostname databasenameErsetzen Sie die Platzhalter durch Ihre tatsächlichen Datenbankinformationen:
- username: Ihr Datenbankbenutzername
- password: Passwort des Benutzers
- hostname: Aktiver Datenbank-Hostname
- databasename: Name der Datenbank, in der Sie den Befehl ausführen
Optional können Sie das Protokoll des Befehls erfassen, indem Sie
>> results.txtanhängen, um die Ergebnisse später zu überprüfen. -
Schritt 2: Automatisieren mit einem Cron Job (Optional)
Für eine monatliche automatische Optimierung erstellen Sie ein Shell-Skript mit folgendem Inhalt:
#!/bin/sh /usr/bin/mysqlcheck -o -v -u USER -p PASSWORD -h MYSQL.EXAMPLE.COM DATABASENAME;Ersetzen Sie die in Großbuchstaben geschriebenen Platzhalter (
USER,PASSWORD,MYSQL.EXAMPLE.COMundDATABASENAME) durch Ihre spezifischen Datenbankanmeldeinformationen. Planen Sie dieses Skript als monatlichen Cron Job, um eine regelmäßige Wartung und Optimierung Ihrer MySQL-Tabellen sicherzustellen. -
Schritt 3: Tabellen reparieren anstelle der Optimierung (falls erforderlich)
Um eine Tabelle zu reparieren, anstatt sie zu optimieren, führen Sie den folgenden Befehl aus:
mysql -u username -ppassword -h hostname databasename -e "show tables" | grep -v Tables_in | grep -v "+" | gawk '{print "repair table " $1 ";"}' | mysql -u username -ppassword -h hostname databasenameErsetzen Sie die Platzhalter durch Ihre tatsächlichen Datenbankinformationen.