SQL异常:数据库连接太多

时间:2017-04-15 16:44:40

标签: java mysql jdbc

当我尝试连接数据库以进行查询时,发生了异常。 " SQL异常:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:数据源拒绝建立连接,来自服务器的消息:"连接太多"

<servlet-mapping>
    <servlet-name>myServlet</servlet-name>
    <url-pattern>/api/*</url-pattern>
</servlet-mapping>

<filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>

 <filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<welcome-file-list>
    <welcome-file>/index.jsp</welcome-file>
</welcome-file-list>

2 个答案:

答案 0 :(得分:0)

如果您使用MySQL db的本地安装,请使用以下命令检查当前打开的连接数。

mysql> show status like 'Conn%';
mysql> show status like '%onn%';

要使用进程列表:mysql> show processlist;

你可以杀掉不必要的连接。

如果您使用的是其他方维护的数据库服务器,请获取帮助以检查并终止不必要的连接。 mySQL服务器中有属性指定允许的最大连接数。如有必要,你可以增加它。

在Java方面,我认为在完成数据库操作后,你应该在finally块中调用con.close。我不确定你是否这样做。

答案 1 :(得分:-2)

“连接太多”错误是因为服务器连接的最大连接限制,服务器可以完成,因此服务器无法连接到新客户端。要解决此问题,您需要重新启动数据库服务器。