!!!'max_user_connections' 。。。。

碰碰real 2009-12-02 12:59:30
1. 访问网页的时候出现了这

500 Servlet Exception
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User 'xuexue'
has exceeded the 'max_user_connections' resource (current value: 30)
at sun.reflect.GeneratedConstructorAccessor227.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:894)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3808)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1256)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2032)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:729)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.GeneratedConstructorAccessor28.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)
at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:119)
at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:57)
at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1326)
at mx.DAO.NewsDao.selectAllBy(NewsDao.java:44)
at _jsp._index__jsp._jspService(index.jsp:92)
at com.caucho.jsp.JavaPage.service(JavaPage.java:61)
at com.caucho.jsp.Page.pageservice(Page.java:578)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:192)
at mx.filter.EncodingFilter.doFilter(EncodingFilter.java:18)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:389)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
at java.lang.Thread.run(Thread.java:619)




xuexue是我的数据库的名字

这是怎么回事。。

2. 而且 网上的那个mysql数据库 登录的时候提示
#1226 - User 'xuebao' has exceeded the 'max_user_connections' resource (current value: 30)



是怎么回事啊

是网上MySQL数据库的问题 ,还是我数据库连接的代码的问题,

大侠们 ,帮忙解决一下。。。

谢谢啦


...全文
484 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
碰碰real 2009-12-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 l_2_0_5_2_1_3__ 的回复:]
这些语句:
Connection con;
PreparedStatement ps;
Statement sta;
ResultSet rs;

con = DatabaseConnection.getConnection();
ps = con.prepareStatement(sql);


我写啦好多,
可是都没关闭,

比如ps.close();
con.close();

是不是我没关闭的原因呢

[/Quote]



事实证明 就是我没关闭的原因

查看连接数的方法:

查看max_connections

进入MySQL,用命令:show variables
查看数据库最大可连接数的变量值:max_connections

查看threads_connected

进入MySQL,用命令:show status
查看当前活动的连接线程变量值:threads_connected


以前没注意过这个问题,现在知道啦

呵呵,谢谢大家

http://xuebao.nyist.net/mx/
大家有空去看看哈
crazylaa 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 l_2_0_5_2_1_3__ 的回复:]
这些语句:
Connection con;
PreparedStatement ps;
Statement sta;
ResultSet rs;

con = DatabaseConnection.getConnection();
ps = con.prepareStatement(sql);


我写啦好多,
可是都没关闭,

比如ps.close();
con.close();

是不是我没关闭的原因呢

[/Quote]

就是你没关的原因。记得在finally里面关噢
good luck
道光2008 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 l_2_0_5_2_1_3__ 的回复:]
引用 8 楼 warison2008 的回复:
name="jdbc/newsina"
    type="javax.sql.DataSource"
validationQuery="select 1"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="3600000"
minEvictableIdleTimeMillis="18000000" 
testOnBorrow = "true"
    password="root"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    username="root"
    url="jdbc:mysql://localhost:3306/sina?autoReconnect=true&useUnicode=true&characterEncoding=GBK"
    maxActive="4"/>
   


在哪设置啊
[/Quote]数据源配置啊,tomcat的context.xml中
碰碰real 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 crazylaa 的回复:]
你jdbc开了连接不关,很快30个就满了。设再大也没用。
hib会用连接池,但你也要显示把连接放回去。
[/Quote]

恩 对 我去改改
crazylaa 2009-12-03
  • 打赏
  • 举报
回复
你jdbc开了连接不关,很快30个就满了。设再大也没用。
hib会用连接池,但你也要显示把连接放回去。
碰碰real 2009-12-03
  • 打赏
  • 举报
回复

这是我连接数据库的一个类


import java.sql.*;

public class DatabaseConnection {

public static Connection getConnection(){
//数据库,用户名,密码
String url="jdbc:mysql://localhost:3306/xuebao",
user="root",
password="root";

Connection con=null;
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,user,password);
}catch(Exception e){
e.printStackTrace();
}
return con;
}
}


另外一个模块我同学是用hibernate做的
hibernate.cfg.xml

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>

<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/xuexue
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">aa</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<mapping resource="mx/test/News.hbm.xml" />

</session-factory>

</hibernate-configuration>

zl3450341 2009-12-03
  • 打赏
  • 举报
回复
你的代码怎么写的啊
贴出来看看
没代码不好猜
碰碰real 2009-12-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 warison2008 的回复:]
name="jdbc/newsina"
    type="javax.sql.DataSource"
validationQuery="select 1"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="3600000"
minEvictableIdleTimeMillis="18000000" 
testOnBorrow = "true"
    password="root"
    driverClassName="com.mysql.jdbc.Driver"
    maxIdle="2"
    maxWait="5000"
    username="root"
    url="jdbc:mysql://localhost:3306/sina?autoReconnect=true&useUnicode=true&characterEncoding=GBK"
    maxActive="4"/>
   
[/Quote]

在哪设置啊
道光2008 2009-12-03
  • 打赏
  • 举报
回复
name="jdbc/newsina"
type="javax.sql.DataSource"
validationQuery="select 1"
testWhileIdle="true"
timeBetweenEvictionRunsMillis="3600000"
minEvictableIdleTimeMillis="18000000"
testOnBorrow = "true"
password="root"
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/sina?autoReconnect=true&useUnicode=true&characterEncoding=GBK"
maxActive="4"/>
碰碰real 2009-12-03
  • 打赏
  • 举报
回复
我改改代码 , 在上传 看看结果怎样。。
wangju1234 2009-12-03
  • 打赏
  • 举报
回复
最好将数据库连接关闭掉
ONEPIECE_01 2009-12-03
  • 打赏
  • 举报
回复
路过!
顶一下
碰碰real 2009-12-02
  • 打赏
  • 举报
回复
这些语句:
Connection con;
PreparedStatement ps;
Statement sta;
ResultSet rs;

con = DatabaseConnection.getConnection();
ps = con.prepareStatement(sql);


我写啦好多,
可是都没关闭,

比如ps.close();
con.close();

是不是我没关闭的原因呢
zhangshan5588 2009-12-02
  • 打赏
  • 举报
回复
up 观望!
碰碰real 2009-12-02
  • 打赏
  • 举报
回复
是网上MySQL数据库的原因,

还是我写的 连接数据库代码 的问题 。。

im110 2009-12-02
  • 打赏
  • 举报
回复
这段异常是说:当前数据库连接数为30已经超过了,最大用户连接数限制。
最简单的方法是重启服务器。当然也可以在配置文件中将最大连接数设置大一点。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧