Förbättra din webbplats prestanda genom att optimera MySQL-databastabeller. Optimeringsprocessen innebär att omorganisera tabell- och indexdata, vilket resulterar i utrymmesbesparingar och förbättrad I/O-effektivitet. Denna guide visar hur du optimerar dina tabeller med hjälp av SSH, vilket säkerställer optimal funktionalitet för din webbplats.
Bakgrund
Att optimera din MySQL-databas via SSH är viktigt för att förbättra prestandan, särskilt när phpMyAdmin stöter på problem med stora databaser, vilket leder till timeouts. SSH tillhandahåller en pålitlig metod för optimering som fungerar även för stora databaser.
Så här gör du
-
Steg 1: Optimera databastabeller via SSH
Kör följande kommando för att optimera alla tabeller i din databas:
mysql -u användarnamn -ppassword -h värdnamn databasnamn -e "show tables" | grep -v Tables_in | grep -v "+" | gawk '{print "optimize table " $1 ";"}' | mysql -u användarnamn -ppassword -h värdnamn databasnamnErsätt platshållarna med din faktiska databasinformation:
- användarnamn: Ditt databas användarnamn
- lösenord: Användarens lösenord
- värdnamn: Aktivt databasvärdnamn
- databasnamn: Namnet på databasen där du kör kommandot
Detta kommando utför samma optimeringsfunktion som phpMyAdmin. Valfritt kan du fånga kommandots logg genom att lägga till
>> results.txtför att granska resultaten senare. -
Steg 2: Automatisera med cron-jobb (valfritt)
För att automatisera optimeringen månatligt kan du skapa ett skal-skript med mysqlcheck:
#!/bin/sh /usr/bin/mysqlcheck -o -v -u ANVÄNDARE -p LÖSENORD -h MYSQL.EXAMPLE.COM DATABASNAMN;Ersätt de versala platshållarna (ANVÄNDARE, LÖSENORD, MYSQL.EXAMPLE.COM och DATABASNAMN) med dina specifika databasuppgifter. Detta skript, när det schemaläggs som ett månatligt cron-jobb, säkerställer det rutinmässiga underhållet och optimeringen av dina MySQL-tabeller.
-
Steg 3: Reparera tabeller vid behov
För att reparera en tabell istället för att optimera den via SSH, kör följande kommando:
mysql -u användarnamn -ppassword -h värdnamn databasnamn -e "show tables" | grep -v Tables_in | grep -v "+" | gawk '{print "repair table " $1 ";"}' | mysql -u användarnamn -ppassword -h värdnamn databasnamnErsätt platshållarna med din riktiga databasinformation.