mysql连接问题-设置

错误:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Connection.close() has already been called. Invalid operation in this state.
执行:
mysql﹥ show global variables like 'wait_timeout';
后显示
| wait_timeout | 28800 |
28800单位为秒
如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处于等待状态,mysql就将该连接关闭。这时,你的Java应用的连接池仍然合法地持有该连接的引用。当用该连接来进行数据库操作时,就碰到上述错误。
28800太小,修改my.ini,在[mysqld]后面增加wait_timeout=XXXXX,保存后重启mysql

-----------------------------------------

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: "Too many connections"

1.Mysql数据库的默认连接数是100。

2.默认值100对于一般的程序都不是很够用,如果只是在自己的电脑上调试程序,有可能发现不了这个问题,因为调试程序时会经常重起Tomcat。

3.如果使用Hibernate框架来进行数据库操作,这个问题尤其明显。

4.解决方法:加大Mysql连接数。在Mysql安装文件中,找到my.ini文件,在里面找到

max-connections=100,将这个100变大一点,直接来个1000算了。

PS:具体需要修改的数值需要根据自己项目的实际情况而定...

posted on 2013-02-15 11:32  蜜雪薇琪  阅读(193)  评论(0编辑  收藏  举报