mysql的数据库连接太多了

时间:2016-07-07 09:46:58

标签: mysql shell

我有一个shell脚本在mysql数据库中执行一些查询并处理结果并相应地发送邮件。该脚本每15分钟运行24X7。在shell脚本中,我只是使用命令连接到db 'mysql -uusername -ppassword database -s -N -e“有些查询在这里”

我想知道的是,这个脚本是否必须对db连接泄漏做一些事情,因为我正在永远执行这个脚本。 当我执行以下查询时,我可以看到每次Connections值每15分钟增加一次。 显示状态,如'%Con%';

+----------------------------------------+-------+
| Variable_name                          | Value |
+----------------------------------------+-------+
| Aborted_connects                       | 4     |
| Com_show_contributors                  | 0     |
| Connections                            | 804   |
| Max_used_connections                   | 152   |
| Performance_schema_cond_classes_lost   | 0     |
| Performance_schema_cond_instances_lost | 0     |
| Ssl_client_connects                    | 0     |
| Ssl_connect_renegotiates               | 0     |
| Ssl_finished_connects                  | 0     |
| Threads_connected                      | 14    |
+----------------------------------------+-------+

它会在某个时间点崩溃吗?因为价值永远不会下降。我知道该值表示数据库中存在的连接总数。但Max_used_connections保持不变。 或者有没有办法从shell脚本关闭数据库连接?

1 个答案:

答案 0 :(得分:4)

正如connections server status variable上的MySQL文档所说:

  

MySQL服务器的连接尝试次数(成功与否)。

因此,这是一个统计数字,显示自上次重启MySQL服务器以来的连接尝试次数。

threads_connected status variable显示当前打开的连接数(在您的情况下为14)。如果此状态变量等于max_connections server SYSTEM variable,那么您将开始收到太多连接错误消息。