Home > Database > Mysql Tutorial > body text

Datasourcerejectedestablishmentofconnection,messagefromserve

WBOY
Release: 2016-06-07 15:55:14
Original
1755 people have browsed it

这些天一直在弄项目管理的大作业,web程序经常遇到这个问题,但是稍微等会又好好的了,一开始怀疑是没有关闭session,但之后查看了代码,发现主要原因出在数据库的配置上 异常信息: Data source rejected establishment of connection, message from server

这些天一直在弄项目管理的大作业,web程序经常遇到这个问题,但是稍微等会又好好的了,一开始怀疑是没有关闭session,但之后查看了代码,发现主要原因出在数据库的配置上

异常信息:Data source rejected establishment of connection, message from server: "Too many connections"

可能的原因

1.mysql的max_connections属性配置太小的问题
2.可能是多次insert,update操作没有关闭session。

解决方案:
1.修改tomcat里的session 的wait_timeout时间减少为200
2.对处理量大的对数据库insert或update的操作提供transaction支持.(Spring中配置)

原因:

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

解决方式:

Windows: 找到mysql的安装目录,打开my.ini文件,找到max_connections配置,默认是100,设置成1000,重启mysql

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

cmd下执行

net stop mysql

net start mysql

Linux: 找到mysql的安装目录,打开my.cnf文件

在[mysqld] 下面添加下面三行

max_connections=1000
max_user_connections=500

wait_timeout=200

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

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

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

sudo stop mysql

sudo start mysql

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

# mysqladmin -uroot -p variables

Password:

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

| max_connections | 1000

| max_user_connections | 500

| wait_timeout | 200

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!