Tuning MySQL Server

Aus Laub-Home Wiki

Hier ein kurzes HowTo, wie man einen MySQL Server ein bisschen mehr Performance gibt.

Datenbank Tabellen optimieren

mit folgendem Befehl werden alle Tabellen auf dem MySQL Server optimiert.

mysqlcheck -u$sqluser -p$password -h$dbhost --auto-repair --optimize --all-databases

siehe auch hier: Shell Skripte - eine kleine Sammlung

Einzelne Tabellen optimieren

Mit diesem Befehl können einzelne Tabellen optimiert werden:

mysqld -u$sqluser -p$password -h$dbhost -e"OPTIMIZE TABLE $table;" -D$database

siehe auch: Syslog Server unter Debian Linux mit Rsyslog

Log slow Querries aktivieren

in der my.cnf folende Zeilen aktivieren oder hinzufügen:

log_slow_queries=/var/log/mysql/mysql-slow.log
long_query_time=2
log-queries-not-using-indexes=1

Unbenutze Datenbank Engines deaktivieren

# Do not use unnecessary database engines
skip-bdb
skip-innodb

Tuning Tool mysqltuner.pl

Mit diesem netten Tool kann ein MySQL Server geprüft werden und anschließend einfach die Änderungsvorschläge in die my.cnf Datei eingefügt werden. Das Perl Skript wird einfach auf dem MySQL Server in einer Shell aufgerufen, Benutzername und Passwort eingegeben und schon scannt es den SQL Server und gibt einem als output Vorschläge für die Performance Steigerung. Man sollte das Tool mehrmals laufen lassen.

cd /usr/src
wget mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl

unter Debian / Ubuntu

aptitude install mysqltuner
mysqltuner

Download: mysqltuner.zip

Tuning Tool tuning-primer.sh

Nach längeren Tests des mysqltuner.pl, stellte ich fest, das ich nicht ganz zufrieden damit war. Deshalb suchte ich nach einer Alternative. Diese fand ich im tuning-primer.sh. Diese Tool kann auch ganz einfach heruntergeladen und gestartet werden.

aptitude install bc
cd /usr/src/
wget http://www.day32.com/MySQL/tuning-primer.sh
chmod +x tuning-primer.sh
./tuning-primer.sh

Download: http://www.day32.com/MySQL/tuning-primer.sh
Homepage: http://www.day32.com/MySQL/