Zdá se, že odpovědí je přidání následujících položek do my.cnf pod [mysqld]:
wait_timeout=60
interactive_timeout=60
Našel jsem to zde (úplně dole):http://community.livejournal.com/mysql/82879.html
Výchozí doba čekání na ukončení zastaralého připojení je 22 800 sekund. Ověření:
mysql> show variables like 'wait_%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wait_timeout | 60 |
+---------------+-------+
EDIT:Zapomněl jsem zmínit, že jsem také přidal následující do svého /etc/sysctl.conf:
net.ipv4.tcp_fin_timeout = 15
To má pomoci snížit práh, na který OS čeká, než znovu použije prostředky připojení.
ÚPRAVA 2:/etc/init.d/mysql reload skutečně nenačte váš my.cnf (viz odkaz níže)
Je možné, že fondy připojení jsou nesprávně nakonfigurovány tak, aby udržovaly příliš mnoho připojení a zadržovaly příliš mnoho nečinných procesů.
Kromě toho mě napadá jen to, že nějaký kus kódu drží sadu výsledků, ale to se zdá méně pravděpodobné. Chcete-li zjistit, zda se jedná o pomalý dotaz, kterému vyprší časový limit, můžete také nastavit MySQL tak, aby zapisovalo do pomalého protokolu dotazů v souboru conf a pak zapsalo všechny dotazy, které trvají déle než X sekund, výchozí hodnota je 10 sekund.