Nachtrag:
ich habe mir deine my.cnf nochmal genauer angesehen und da sind mehrere Dinge fraglich:
table_open_cache = 2000
table_definition_cache = 2000
Hast du wirklich derartig viele Tabellen? Eigentlich braucht man das nicht anzufassen, sondern kann sich auf die Automatik (abhängig von max_connections) verlassen.
max_allowed_packet = 100M
Das ist sehr viel. Und es fällt pro Connection an. Gibt es da einen Grund dafür?
read_buffer_size = 256K
read_rnd_buffer_size = 256K
Muß man eingentlich nie setzten.
net_buffer_length = 100K
Dito. Und sowieso setzt man das besser auf Systemebene (net.core.rmem_max, net.core.wmem_max, mit sysctl). Ist aber nicht kriegsentscheidend.
thread_stack = 240K
Von dieser Einstellung läßt man immer die Finger.
tmp_table_size = 1G
max_heap_table_size = 1G
Das ist ebenfallst sehr viel wenn man bedenkt, daß das Synology nur 12G RAM hat. Denn das Limit gilt pro Tabelle. Und für die Anzahl der Tabellen gibt es kein Limit.
performance_schema=ON
Wenn du das nicht nutzt, schalte es aus.
Schlußfolgerung: ich würde das alles auf Default lassen. Mit folgenden Ausnahmen:
(innodb_buffer_pool_size)
key_buffer_size
tmp_table_size
max_heap_table_size
und die an den tatsächlichen Bedarf anpassen.