填坑之路!Mysql User'root' has exceeded the 'max_user_connections' resource

今天通过navicat访问数据库时访问久了出现了 User’root’ has exceeded the ‘max_user_connections’ resource错误,这个提示是说连接数据库的并发超出 20个限定,所以不能在增加新的数据库连接!

小提示:使用代码连接却没有问题,出现这个提示只是管理软件不能连接到数据库上,而网站却不受影响!

先说解决方法:
1.打开navicat
2.点开工具栏
在这里插入图片描述
3.选到服务器监控->mysql 打开服务器监控 勾选目标数据库

在这里插入图片描述
4.结束不必要的进程即可

为什么会出现这个提示呢??

那是因为我们的虚拟主机所有的数据库都有数据库并发的限制,比如个人A型空间他的数据库并发的限制就是20个,如果您超出了20个数据库连接,第21个数据库的连接就不会被允许
这个问题一般是由于,您使用了数据库连接池造成的,我们的数据库并发限制是20个 ,您在您程序里面设置数据库连接池的最大连接是大于20个的话就会有这个提示出现!

什么是数据库并发??

数据库并发是指数据库可以同时被多少人操作,我们的每款jsp虚拟主机他的数据库并发限制都不一样, 比如您有20个数据库连接,当您网页每调用一次数据库,他的这个数据库连接都会保存到我们的数据库系统里面,您调用完了这个数据库,调用 stmt.close(); conn.close(); 释放这个数据库连接,这个数据库连接才会消失,这样是一个完整的数据库并发!

比如用户从打开一个网页到加载完毕用了1秒的时间,你们可以简单的理解为数据库并发的操作是1秒钟可以有20个人同时访问!! 如果您的网页里面多次连接了数据库(5次),那么就说明在1秒内,可以有4个人同时访问这个接口!

所以很多人问,数据库并发是多长时间可以允许多少人访问,这个真很难回答,和网页连接了多少次数据库有关系和每次访问的加载时间 和用户的网速也有关系! 原理已经和大家说了,大家自己判断!

上面说的是正常情况下,还有一种可能是,部分用户申请完数据库连接后,忘记关闭这个数据库连接(这样的问题由于程序员的大意也是时有发生的),
如果您的代码一不小心忘记关闭数据库的连接,你们这个数据库连接就会一直保存着,直到他自动释放(我们公司的数据库自动释放时间是8小时),如果您大意忘记释放他,他就会占用您20个连接里面的1个连接,一直到20个并发用完,就会出现上面的那个提示!

由于我们的系统是8小时才自动释放,如果您忘记关闭数据库连接,你们就说明是8个小时才可以有20个数据库并发,这个是很恐怖的会严重影响您网站的访问…… 为此很多用户选择使用数据库连接池技术,来避免上述的问题发生!

什么是数据库连接池??

数据库连接池是不需要用户申请和释放数据库的连接,他会自动帮您管理数据库的连接用户只管使用这个连接,连接池呢会自动释放已经用过的连接,当连接不够用的时候他会自动申请新的连接,这样循环周而复始,保证数据库连接的可用性!!!大家可以理解为连接池是自动帮助用户管理数据库的连接的地方,这样就不会发生上面的数据库连接忘记关闭的问题

数据库连接池会在tomcat启动的时候就自动申请好数据库连接(申请多少数据库连接根据您的配置文件里设置的决定的),放在一个虚拟的池子里面,您调用数据库的时候从这个池子里拿,用完了池子会自动回收你已经用过的这个连接,为下一个连接做准备!

使用了数据库连接池,连接池会有一个配置文件,配置文件里可以规定他在启动的时候申请最大多少个连接,最小多少个连接,初始多少个连接,一个连接可以存活多久等!!

为什么限制我的并发??

由于越来越多的人使用数据库连接池,很多人会设置最大连接数比较大,几百,几千的都有,为了达到公平的效果…我们会限制每个用户最大数据库并发数,如果您设置的最大连接数超出了我们的限制,你们则以我们的为准,比如:您的限制是20个并发,您在程序里设置最大100个并发,那么您连接池实际可申请的最大并发为20个,这个时候您启动tomcat,可以正常的访问您的网站,但是您用工具去连接管理数据库,则连接不上出现上述提示!原因是20个数据库连接已经被您用完,没办法在进行连接管理数据库了!!

连接池应该设置多少比较合适?

以20个并发为例子 连接池我们建议设置
最大连接为:19
最小连接为:5
初始连接为:5
过期时间为:120秒
如果并发是30个的话只需要把上面的最大连接数设置为29个即可,其他的不变!!
如果把最小连接数和初始连接数设置过大,则会影响数据库连接池的性能,弄巧成拙!

参考 http://www.jspkongjian.com/news.jsp?id=1022

发布了77 篇原创文章 · 获赞 62 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_42236404/article/details/103628332