应用访问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包也要删掉,之后再打包。同时还
相关文档:
可以适用任何sql , 自动识别字段名, gzip压缩 , 带输出buffer , 支持分库分表
需要辅助代码和Makefie , 下面是主程序代码,
/**
* mysql数据表dump程序
* @author : cheng limin
* @date : 2010-1-18
*
* 使用样例:
*./dump_mysql -c ../conf/dump.conf
* -t xml
* -s ......
测试环境:mysql 5.0.45 【注:可以在mysql中通过mysql> SELECT VERSION();来查看数据库版本】整理:Webjx.Com 一、连接MYSQL。格式: mysql -h主机地址 -u用户名 -p用户密码 1、连接到本机上的MYSQL。首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格 ......
Timestamp翻译过来也叫“时间戳”,可以包含“年-月-日-时-分-秒-毫秒”,是java.util.Date下的一个子类。如果想实现向Mysql中插入带有时分秒的时间,在表结构里需要指定字段类型为DateTime,Java程序里在获取系统时间后需要转换为时分秒的格式,再转换为Timestamp即可,如下所示:
Date dt = new Dat ......
在mysql中输入SHOW variables like "have_%"查看,显示如下:
mysql> SHOW variables like "have_%";
+-----------------------+----------+
| Variable_name | Value |
+-----------------------+----------+
| have_archive   ......
你使用过别人的备份方案来备份你的MySQL数据吗?你有多关心你的数据?你敢确定你现在正在运行的脚本就是可靠的,可恢复的备份,而且在运行过程中不会影响你的关键作业吗?在回答这个问题之前,先回答下面十个问题吧:
1. 备份要求停止数据库吗?如果不需要,那么备份的时候会影响什么?块设备?I/O负载?缓冲?或者是其他?
......