达到MYSQL连接限制 - JDBC会自动关闭吗?

时间:2017-01-09 20:03:44

标签: java mysql jdbc xampp database-connection

我有一些运行本地脚本但需要能够在它们之间传递信息的计算机。我在其中一台使用XAMPP的计算机上使用MYSQL数据库来完成此任务。

每台计算机重复启动并终止正在运行的本地脚本,该脚本具有静态数据库类,该类在初始化时使用JDBC创建连接。然后,在脚本终止然后重新启动之前,他们使用此连接执行操作大约10-15分钟。

只有5台计算机可以访问MYSQL数据库而我的max_connections设置为151但是每隔一段时间我就会遇到一个连接限制错误并且我的所有脚本都崩溃了。

我认为在脚本终止时MSQL数据库连接会自动关闭,因为在发生此错误之前,我可以运行脚本超过151次。在终止脚本之前是否需要关闭连接?可能导致这种情况发生的原因是什么?

此外,我可以在发生此错误时重新启动脚本,并且它们可以恢复正常。我不需要去phpMyAdmin并刷新。

2 个答案:

答案 0 :(得分:2)

使用完毕后,检查是否正在断开数据库连接。有时需要一段时间才能自动断开会话。

答案 1 :(得分:1)

作为最佳做法,您应该在完成连接后关闭连接。在Java中,如果你忽略了关闭连接,那么你将最终得到一个开放的连接;但是,PHP的文档建议在脚本完成时关闭未关闭的连接:http://php.net/manual/en/function.mysql-connect.php

您可以通过MySQL Workbench或同等工具监控打开的连接,并查找它们的来源。