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
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
:
Anpassungen
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!
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“.
Ü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.
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: