Optimering af dine MySQL-databasetabeller genorganiserer tabel- og indeksdata, hvilket reducerer pladsbrug og forbedrer I/O-effektivitet. Dette er især nyttigt, når phpMyAdmin oplever tidsudløb med store databaser, da SSH giver en mere pålidelig metode til optimering.

Sådan gør du det

  1. Trin 1: Forbind via SSH og kør Optimeringskommandoen

    Brug følgende kommando til at optimere alle tabeller i din database:

    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

    Erstat pladsholderne med dine faktuelle databaseoplysninger:

    • username: Din databasebrugernavn
    • password: Brugerens adgangskode
    • hostname: Aktiv databasevært
    • databasename: Navnet på den database, hvor du kører kommandoen

    Tilvalgt kan du logge kommandoen ved at tilføje >> results.txt for at gennemgå resultaterne senere.

  2. Trin 2: Automatiser med en Cron Job (Valgfri)

    For månedlig automatisk optimering, opret en shell-script med følgende indhold:

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

    Erstat de store bogstaver pladsholderne (USER, PASSWORD, MYSQL.EXAMPLE.COM, og DATABASENAME) med dine specifikke databaseoplysninger. Planlæg dette script som en månedlig cron job for at sikre rutineret vedligeholdelse og optimering af dine MySQL-tabeller.

  3. Trin 3: Reparere Tabeller i Stedet for at Optimere (Hvis Det Er Nødvendigt)

    For at reparere en tabel i stedet for at optimere den, kø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

    Erstat pladsholderne med dine reelle databaseoplysninger.