2016-07-06 75 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 ... –

相关问题