sql >> Databáze >  >> RDS >> Mysql

Nelze zvýšit max_open_files pro Mysql max-connections v Ubuntu 15

Ubuntu přešlo z Upstart na Systemd ve verzi 15.04 a již nerespektuje limity v /etc/security/limits.conf pro systémové služby. Tyto limity se nyní vztahují pouze na uživatelské relace.

Limity pro službu MySQL jsou definovány v konfiguračním souboru Systemd, který byste měli zkopírovat z jeho výchozího umístění do /etc/systemd a poté kopii upravit.

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

Přidejte následující řádky na konec souboru:

LimitNOFILE=infinity
LimitMEMLOCK=infinity

Můžete také nastavit číselný limit, např. LimitNOFILE=4510 .

Nyní znovu načtěte konfiguraci Systemd pomocí:

sudo systemctl daemon-reload

Restartujte MySQL a nyní by se mělo řídit direktivou max_connections.

Po upgradu na 15.04 jsem měl také problémy s čistým zastavením MySQL. Pokud se vás to týká (budete vědět, protože vypršení časového limitu po service mysql stop bude trvat 300 sekund nebo service mysql restart ) a poté přidání následujícího řádku do stejného souboru /etc/systemd/system/mysql.service to za mě opravilo:

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

Zdá se, že tento druhý problém byl opraven do 16.04 a tento řádek již není vyžadován, takže než provedete upgrade distribuce, budete chtít zastavit MySQL a odstranit ExecStop řádek z konfiguračního souboru.



  1. Psaní velkých písmen jmen osob v programování

  2. Jak se používají databáze v elektronickém obchodu

  3. Jak vybrat data ze dvou tabulek pomocí jednoho dotazu

  4. MariaDB LOCALTIMESTAMP() Vysvětleno