Tuning MySQL Server
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/