Hur man optimerar en MySQL-databas med SSH?

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 tidsgränser. SSH tillhandahåller en pålitlig metod för optimering som fungerar även för stora databaser.

Så här gör du

  1. Steg 1: Optimera databastabeller via SSH

    Kör följande kommando för att optimera alla tabeller i din databas:

    [server]$ 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 databasnamn

    Ersä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.txt för att granska resultaten senare.

  2. Steg 2: Automatisera med cron-jobb (valfritt)

    För att automatisera optimeringen månadsvis 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. Schemalägg detta skript som ett månatligt cron-jobb för rutinmässigt underhåll och optimering av dina MySQL-tabeller.

  3. Steg 3: Reparera tabeller vid behov

    Om du behöver reparera en tabell istället för att optimera den, kör följande kommando:

    [server]$ 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 databasnamn

    Ersätt platshållarna med din riktiga databasinformation.


Was this article helpful?

mood_bad Dislike 0
mood Like 0
visibility Views: 6975