====== MySQL konfigurieren und 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)):
**Windows:** Nutzen Sie [[https://notepad-plus-plus.org/|Notepad++]] oder Wordpad zum Bearbeiten!\\
Unter keinen Umständen dürfen Sie den Windows Editor/Notepad nutzen!
**Ubuntu Linux** - Folgende Datei anlegen ''/etc/mysql/conf.d/performance.cnf'':
**Mac** - In der ''/etc/my.cnf'':
==== Anpassungen ====
=== MySQL 5.6 oder 5.7 ===
[mysqld]
Danach einfügen:
{{page>de:faq:mysql_optimieren5}}
=== MySQL 8.0 ===
[mysqld]
Danach einfügen:
{{page>de:faq:mysql_optimieren8}}
Konfigurationsoptionen die nicht vorhanden sind, bitte einfach einfügen!
===== 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.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]]