MySQL nofile, Ubuntu und systemd

systemd verwaltet selber die limits aller Prozesse. Deshalb werden alle normale Parameter in der /etc/mysql/my.cnf, /etc/security/limits.conf oder /etc/sysctl.conf ignoriert.

Wer immer auf diese schwachsinnige Idee gekommen ist, dies nirgendwo vernünftig zu kommentieren: Danke für die Stunden und Tage die hiermit sinnlos verschwendet wurden!

Für MySQL muss folgendes gemacht werden:

Legt das Verzeichnis /etc/systemd/system/mysql.service.d/ an:
mkdir -p /etc/systemd/system/mysql.service.d/

Erstellt die Datei /etc/systemd/system/mysql.service.d/override.conf mit folgenden Inhalt

cat '[Service]
LimitNOFILE=16384' >> /etc/systemd/system/mysql.service.d/override.conf

und startet den Service mysqld neu.