it-swarm-eu.dev

Jak dlouho je „příliš dlouhá“, než aby mohla MySQL připojení spát?

Přihlásil jsem se na svůj server, abych zkontroloval stav databáze a na SHOW PROCESSLIST; Jsem si všiml, že existuje spousta spojení, která jsou velmi stará.

enter image description here Jaká by měla být doba trvání připojení, než bude spojení zabito?

Jak nastavím časový limit v MySQL 5.0.51a-3ubuntu5.4?

Poznámka:

Používám PHP 5.2.x a symfony framework 1.2.

39
Patrick

mysqld vyprší časový limit připojení databáze na základě dvou možností serveru:

Oba jsou ve výchozím nastavení 28 800 sekund (8 hodin).

Tyto možnosti můžete nastavit v /etc/my.cnf

Pokud vaše připojení přetrvávají (otevřeno pomocí mysql_pconnect) můžete snížit tato čísla na něco rozumného, ​​jako je 600 (10 minut) nebo dokonce 60 (1 minuta). Pokud aplikace funguje dobře, můžete ponechat výchozí nastavení. To je jen na vás.

V my.cnf (projeví se po restartování mysqld):

[mysqld]
interactive_timeout=180
wait_timeout=180

Pokud nechcete restartovat mysql, spusťte tyto dva příkazy:

SET GLOBAL interactive_timeout = 180;
SET GLOBAL wait_timeout = 180;

Tím se nezavřou již otevřená připojení. To způsobí uzavření nových připojení za 180 sekund.

54
RolandoMySQLDBA