应用访问Mysql遇到的连接问题
最近在做一个小项目,开发环境:数据库mysql5.0,服务器Tomcat5.5。项目打成war部署在tomcat上之后,通过应用进行查询操作,如果操作过于频繁,后台会抛如下异常:
javax.servlet.ServletException: Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [08S01]; error code [0]; Communications link failure due to underlying exception:
** BEGIN NESTED EXCEPTION **
java.net.SocketException
MESSAGE: java.net.BindException: Address already in use: connect
STACKTRACE:
java.net.SocketException: java.net.BindException: Address already in use: connect
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2569)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionfromDriverManager(DriverManagerDataSource.java:291)
at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionfromDriverManager(DriverManagerDataSource.java:277
。。。。。。
在网上查了很多资料,也在论坛里发帖提问,发现是连接数占用的问题。应用里连接采用的是JDBC直连,后来改成了通过缓冲池连接。
换成缓冲池连接的时候,程序打包要注意,程序lib下的naming-factory.jar,naming-factory-dbcp.jar,naming-resources.jar都要删掉,mysql的连接jar包也要删掉,之后再打包。同时还
相关文档:
connect方法是java.sql.Driver接口中定义的方法,如果连接的数据库不同,那么为不同的数据库编写JDBC驱动将变得很灵活,实现Driver接口即可。连接数据库时首先得装载JDBC驱动,也就是调用 Class.forName(“com.mysql.jdbc.Driver”)方法,在第一篇中已经列出mysql jdbc Driver类的源码,此类继承NonRegisteringD ......
在mysql中输入SHOW variables like "have_%"查看,显示如下:
mysql> SHOW variables like "have_%";
+-----------------------+----------+
| Variable_name | Value |
+-----------------------+----------+
| have_archive   ......
今天开多一个应用在 APP SERVER 上,报告一个错误:
ERROR 1040 (00000): Too many connections
这倒是从来没碰到过,不过在 console 下可以用 root 登录 (console 下用其他用户也不可登录,Too many connections)
mysql -uroot -p
mysql > show processlist;
...
这里列了100个链接!!其中只有2个链接是Q ......
自增长类型增加
1.如果dbms是MsSql,则选定表后,database-> edit current dbms-> 出现DBMS properties对话框,选择General页,左侧的树选择SQL 2000-> Profile-> Column-> Extended Attributes 下面的ExtIdentityIncrement是步进 ......