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.

:!: ERSTELLEN SIE EIN BACKUP, BEVOR SIE DIESE AKTIONEN AUSFÜHREN!

Stoppen Sie den MySQL Server.

Windows - In der aktuell aktiven my.ini zu finden unter C:\ProgramData\MySQL\MySQL Server XXX\my.ini 1):

Windows: Nutzen Sie 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:

MySQL 5.6 oder 5.7

[mysqld]

Danach einfügen:

group_concat_max_len=50000
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
 
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
 
max_heap_table_size = 256M
tmp_table_size = 256M
 

MySQL 8.0

[mysqld]

Danach einfügen:

default-authentication-plugin=mysql_native_password
 
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
log_bin_trust_function_creators = 1
group_concat_max_len=50000
 
max_allowed_packet = 16M
table_open_cache = 512
sort_buffer_size = 2M
 
max_heap_table_size = 256M
tmp_table_size = 256M
 
innodb_buffer_pool_size=664M 
 

Konfigurationsoptionen die nicht vorhanden sind, bitte einfach einfügen!

Starten sie den MySQL Server.

Lassen Sie danach die Benutzer 1-2 Stunden arbeiten.

Öffnen Sie dann die MySQL Workbench und wählen Sie „Server Status“.

Überprüfen Sie den Wert „InnoDB Buffer Usage“.

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.

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:


1)
XXX entspricht Ihrer Version