Ubuntu er flyttet fra Upstart til Systemd i version 15.04 og respekterer ikke længere grænserne i /etc/security/limits.conf for systemtjenester. Disse grænser gælder nu kun for brugersessioner.
Grænserne for MySQL-tjenesten er defineret i Systemd-konfigurationsfilen, som du skal kopiere fra standardplaceringen til /etc/systemd og derefter redigere kopien.
sudo cp /lib/systemd/system/mysql.service /etc/systemd/system/
sudo vim /etc/systemd/system/mysql.service # or your editor of choice
Tilføj følgende linjer til bunden af filen:
LimitNOFILE=infinity
LimitMEMLOCK=infinity
Du kan også indstille en numerisk grænse, f.eks. LimitNOFILE=4510
.
Genindlæs nu Systemd-konfigurationen med:
sudo systemctl daemon-reload
Genstart MySQL, og det skulle nu følge max_connections-direktivet.
Jeg havde også problemer med at stoppe MySQL rent efter opgradering til 15.04. Hvis dette påvirker dig (du ved det, fordi det vil tage 300 sekunder at timeout, når du service mysql stop
eller service mysql restart
) og derefter tilføjede følgende linje til den samme /etc/systemd/system/mysql.service-fil fiksede det for mig:
ExecStop=/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf shutdown
Sidstnævnte problem ser ud til at være rettet den 16.04, og denne linje er ikke længere påkrævet, så før du laver en distributionsopgradering, vil du gerne stoppe MySQL og fjerne ExecStop
linje fra konfigurationsfilen.