应用访问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包也要删掉,之后再打包。同时还
相关文档:
Mysql的字符集是比较麻烦的,默认的对我们来说根本就没什么用,我们是要用到中文的,所以一定得改字符集,如果字符集不对会有很多的问题,有乱码还有就是我们在程序里插入中文时会给你说mysql Data truncation: Data too long for column,你千万别以为是你的字段设得不够长,你设得再长他都会报错,所以改字符集吧
我们一般装好数 ......
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
断开:exit (回车)
创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
删除授权: revoke select,insert,update,delete om *.* from ......
/*查询数据库*/
show databases;
/*创建数据库*/
create database dengheping;
/*使用数据库*/
use dengheping;
/*创建表*/
create table user(id int primary key auto_increment,name char(255));
/*查询表*/
show tables;
/*显示表结构*/
desc user;
/*插入字段*/
alter table user add password varchar(6 ......