====== MySQL Geschwindigkeit optimieren ======
^ **:!: ACHTUNG: ANLEITUNG OHNE GEWÄHR. ** ^
| Die Firma untermStrich software gmbh übernimmt keine Haftung für etwaige Schäden oder Fehler die direkt oder indirekt durch die Benutzung oder nicht Benutzung dieser Anleitung entstehen! |
:!: Wenn Sie unter Windows bei der Konfiguration bereits Server gewählt haben, entspricht Ihre Konfiguration bereits in etwa dem Beispiel von unten. In diesem Fall ist meist keine weitere Optimierung notwendig.
===== Backup =====
**:!: ERSTELLEN SIE EIN BACKUP, __BEVOR__ SIE DIESE AKTIONEN AUSFÜHREN! **
===== MySQL stoppen =====
Stoppen Sie den MySQL Server.
===== Konfiguration =====
**Windows** - In der aktuell aktiven ''my.ini'' zu finden unter ''C:\ProgramData\MySQL\MySQL Server XXX\my.ini'' ((XXX entspricht Ihrer Version)):
**Ubuntu Linux** - Folgende Datei anlegen ''/etc/mysql/conf.d/performance.cnf'':
**Mac** - In der ''/etc/my.cnf'':
[mysqld]
Danach einfügen:
group_concat_max_len=50000
max_allowed_packet = 16M
table_open_cache = 512
sort_buffer_size = 2M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size = 64M
default-storage-engine=InnoDB
innodb_log_buffer_size=6M
innodb_buffer_pool_size=664M
innodb_thread_concurrency=8
**Windows:** Nutzen Sie Wordpad oder Notepad++ zum Bearbeiten!\\
Unter keinen Umständen dürfen Sie den Windows Editor/Notepad nutzen!
#does not work with current root username
skip-name-resolve
#no
read_buffer_size = 2M
read_rnd_buffer_size = 8M
===== MySQL starten =====
Starten sie den MySQL Server.
===== Weiter optimieren =====
Lassen Sie danach die Benutzer 1-2 Stunden arbeiten.
Öffnen Sie dann die MySQL Workbench und wählen Sie "Server Status".
* {{:de:faq:server_opt1.png?nolink|}}
Überprüfen Sie den Wert "InnoDB Buffer Usage".
* {{:de:faq:server_opt2.png?nolink|}}
Erhöhen Sie den Wert ''innodb_buffer_pool_size'', bis Sie merken, dass der Server nicht sofort nach dem Start nahezu 100% ausnutzt.
Erhöhen Sie dazu den Wert und starten Sie den MySQL Server neu.
===== Wenn ein Datenbankupdate anstatt Minuten, Stunden benötigt =====
Dieses Problem tritt auf einigen wenigen Systemen mit MySQL 5.5/5.6 auf.
Dieser Wert sollte nur nach Rücksprache mit untermStrich geändert werden:
[mysqld]
Danach einfügen:
innodb_flush_log_at_trx_commit = 2
Beschreibung der Einstellung:
* [[http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit]]
* [[http://dev.mysql.com/doc/refman/5.1/de/innodb-parameters.html]]