Optimalisering av MySQL-databasetabeller reorganiserer tabell- og indeksdata, reduserer bruksområde og forbedrer I/O-effisiens. Dette er spesielt nyttig når phpMyAdmin opplever tidsavbrudd med store databaser, da SSH gir en mer pålitelig metode for optimalisering.

Hvordan gjør du det

  1. Trinn 1: Koble til via SSH og kjør optimaliseringskommandoen

    Bruk følgende kommando for å optimisere alle tabeller i databasen din:

    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 databasename

    Erstatt plassholdere med dine faktiske databaseinformasjon:

    • username: Ditt databasebrukernavn
    • password: Brukers passord
    • hostname: Aktiv database vertsnavn
    • databasename: Navnet på databasen der du kjører kommandoen

    Valgfritt, fang loggen fra kommandoen ved å legge til >> results.txt for å gjennomsøke resultater senere.

  2. Trinn 2: Automatiser med en Cron-jobb (Valgfritt)

    For månedlig automatisk optimalisering, opprett en shell-skript med følgende innhold:

    #!/bin/sh
    /usr/bin/mysqlcheck -o -v -u USER -p PASSWORD -h MYSQL.EXAMPLE.COM DATABASENAME;

    Erstatt store bokstaver plassholdere (USER, PASSWORD, MYSQL.EXAMPLE.COM, og DATABASENAME) med dine spesifikke databaselegitimasjoner. Planlegg dette skriptet som en månedlig cron-jobb for å sikre rutine vedlikehold og optimalisering av MySQL-tabellene dine.

  3. Trinn 3: Reparer tabeller i stedet for å optimisere (Hvis nødvendig)

    For å reparere en tabell i stedet for å optimalisere den, kjør følgende kommando:

    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 databasename

    Erstatt plassholdere med dine virkelige databaseinformasjon.