Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann max_open_files für Mysql max-connections in Ubuntu 15 nicht erhöhen

Ubuntu ist in Version 15.04 von Upstart auf Systemd umgestiegen und beachtet die Limits in /etc/security/limits.conf für Systemdienste nicht mehr. Diese Beschränkungen gelten jetzt nur für Benutzersitzungen.

Die Limits für den MySQL-Dienst sind in der Systemd-Konfigurationsdatei definiert, die Sie von ihrem Standardspeicherort nach /etc/systemd kopieren und dann die Kopie bearbeiten sollten.

sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
sudo vim /etc/systemd/system/mysql.service # or your editor of choice

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

LimitNOFILE=infinity
LimitMEMLOCK=infinity

Sie können auch ein numerisches Limit setzen, zB LimitNOFILE=4510 .

Laden Sie nun die Systemd-Konfiguration neu mit:

sudo systemctl daemon-reload

Starten Sie MySQL neu und es sollte nun der max_connections-Direktive gehorchen.

Ich hatte auch Probleme, MySQL nach dem Upgrade auf 15.04 sauber zu stoppen. Wenn Sie davon betroffen sind (Sie werden es wissen, weil es 300 Sekunden dauert, bis das Zeitlimit überschritten wird, wenn Sie service mysql stop ausführen oder service mysql restart ) und dann das Hinzufügen der folgenden Zeile zu derselben /etc/systemd/system/mysql.service-Datei hat es für mich behoben:

ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown

Dieses letztere Problem scheint mit 16.04 behoben worden zu sein, und diese Zeile wird nicht mehr benötigt. Bevor Sie also ein Distributions-Upgrade durchführen, sollten Sie MySQL stoppen und ExecStop entfernen Zeile aus der Konfigurationsdatei.