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
-
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 databasenameErstat 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.txtfor at gennemgå resultaterne senere. -
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, ogDATABASENAME) 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. -
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 databasenameErstat pladsholderne med dine reelle databaseoplysninger.