• 欢迎访问小杰博客网站
  • 欢迎访问小杰博客网站哦

message from server: “Too many connections” 解决方案

mysql 小杰 4年前 (2015-01-11) 186次浏览 已收录 1个评论
下面的是解决办法:

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

原因:

因为你的mysql安装目录下的my.ini中设定的并发连接数太少或者系统繁忙导致连接数被占满


解决方式:

打开MYSQL安装目录打开MY.INI找到max_connections(在大约第93行)默认是100 一般设置到500~1000比较合适,重启mysql,这样1040错误就解决啦。
max_connections=1000

一定要重新启动MYSQL才能生效

CMD->

net stop mysql

net start mysql

cd  /etc/mysql

ls -l   

vi my.cnf

a   进入  

esc退出到命令行

:x! 保存退出

:q 不保存退出


service mysql stop

写完的项目在本次测试没事,但是转移到实际项目中出现问题。报错如下:Data source rejected establishment of connection,  message from server: “Too many connections”

 

网上很多人都是这样说的,

1.可能是mysql的max connections设置的问题
2.可能是多次replace,update操作没有关闭session,需要在spring里配置transaction支持。

解决:
1.修改tomcat里的session 的time-out时间减少为20,(不是必改项)
2.对处理量大的对数据库replace或update的操作提供transaction支持.

原因:

mysql安装目录下的my.ini中设定的并发连接数太少或者系统繁忙导致连接数被占满


解决方式:

打开MYSQL安装目录打开MY.INI找到max_connections(在大约第93行)默认是100 一般设置到500~1000比较合适,重启mysql,这样1040错误就解决啦。
max_connections=1000

一定要重新启动MYSQL才能生效

CMD->

net stop mysql

net start mysql

 

但是由于项目的实际服务器在linux上,所以需要修改linux下 my.cnf

 

# vi /etc/my.cnf

 

//添加以下行

 

[mysqld]
set-variable=max_connections=1000
set-variable=max_user_connections=500

set-variable=wait_timeout=200

 

//max_connections设置最大连接数为1000

//max_user_connections设置每用户最大连接数为500
//wait_timeout表示200秒后将关闭空闲(IDLE)的连接,但是对正在工作的连接不影响。

//保存退出,并重新启动MySQL

 

/etc/init.d/mysql restart

 

//重新启动MySQL后使用下面的命令查看修改是否成功

# mysqladmin -uroot -p variables

Password:

//可以看到以下项说明修改成功

| max_connections                 | 1000

| max_user_connections            | 500

| wait_timeout                    | 200


小杰博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:message from server: “Too many connections” 解决方案
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址