2016-07-06 78 views
0

我有大量的連接,但是當我發出一個show full processlist時,我沒有看到任何接近我看到的連接。這些連接是孤兒嗎?我嘗試了flush hosts命令,並且連接仍然存在,即使重新啓動了服務器並重新啓動了mysql服務器。MySQL連接導致服務器消失,在processlist中沒有任何信息

我相信這些連接導致與數據庫建立新連接的問題。用戶正在收到「服務器已經離開」的錯誤。我如何清除這些?

見下面的命令:

mysql> show status like '%onn%'; 
+--------------------------+-------+ 
| Variable_name   | Value | 
+--------------------------+-------+ 
| Aborted_connects   | 5  | 
| Connections    | 11743 | 
| Max_used_connections  | 24 | 
| Ssl_client_connects  | 0  | 
| Ssl_connect_renegotiates | 0  | 
| Ssl_finished_connects | 0  | 
| Threads_connected  | 6  | 
+--------------------------+-------+ 
7 rows in set (0.00 sec) 



mysql> show full processlist; 
+-------+---------+----------------------+--------------------+---------+-------+-------+-----------------------+ 
| Id | User | Host     | db     | Command | Time | State | Info     | 
+-------+---------+----------------------+--------------------+---------+-------+-------+-----------------------+ 
| 4494 | rode | localhost:43411  | NULL    | Sleep | 11159 |  | NULL     | 
| 4506 | rode | localhost:43423  | information_schema | Sleep | 11159 |  | NULL     | 
| 4554 | rode | localhost:43511  | performance_schema | Sleep | 11112 |  | NULL     | 
| 11500 | ass  | serv:1243 | Home-Tech   | Sleep |  0 |  | NULL     | 
| 11743 | root | localhost   | NULL    | Query |  0 | NULL | show full processlist | 
| 11744 | ass  | out:6070 | Home-Tech   | Sleep |  4 |  | NULL     | 
| 11745 | ass  | out:6074 | HTGlobal   | Sleep |  8 |  | NULL  
+0

如果你正在飽和最大連接設置,你會得到'太多的連接錯誤,而不是'MySQL服務器已經消失',看起來客戶端連接已經停滯/中斷,所以你會得到那個錯誤。 –

回答

1

The MySQL server has gone away(錯誤2006)有兩個主要原因

服務器超時和關閉連接。要解決這個問題,請檢查my.cnf配置文件中的「wait_timeout」 mysql變量是否足夠大。

服務器丟失了一個不正確或太大的數據包。如果mysqld獲得的數據包太大或不正確,它會假定客戶端出現問題並關閉連接。要解決這個問題,你可以增加my.cnf文件中的最大數據包大小限制「max_allowed_packet」,例如。設置max_allowed_packet = 128M,然後sudo /etc/init.d/mysql restart

有兩種主要的方法可以解決這個問題。如果上述更改不會在您的linux或windows mysql數據庫服務器上出現問題;你或者需要增加服務器上的內存或者觀察它的進程。

is this on a windows or linux box?

+0

5.5.35-0ubuntu0.12.04.2-log 允許的最大數據包爲100M,我將它設置爲200M wait_timeout爲300,我將它設置爲600 ... –

相關問題