暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

too many connections解决办法

原创 春去秋来说运维 2019-12-11
3547

用过mysql的小伙伴们,大部分都会碰到应用程序或者数据库维护人员连接数据库的时候,报too many connections的错误,这个错误是怎么产生的,该如何解决呢,下面就给大家进行详细解答。

下面是我的mysql 5.7的测试环境,查看一下和连接相关的参数配置
1.jpg
为了尽快让数据库连接耗尽,我在这里会修改一下参数配置

2.jpg
设置了用户最大连接数为3,下面使用一个普通用户(tony)进行测试

3.jpg
可以看到tony用户的连接到2个了,加上root用户,总的连接数据已经达到3个了,如果再使用tony用户进行连接库,会发生什么呢

4.jpg
已经开始报too many connections错误了,这个时候管理员去数据库进行定位,是什么原因导致的这个报错,看看能不能连接上数据库

5.jpg
到这里,细心的同学已经发现问题了,tony用户和root用户连接数据已经超过max_connections定义的阀值3了,多了1个,这是怎么回事,难道是这个参数不起作用吗,那如果再用root用户连接数据库,看看时候能连接数据库

6G.jpg
这个时候root用户也无法连接了,在这里解释一下为什么总连接数会超一个,原来mysql数据库在max_connections之外,额外提供一个连接,提供给super权限用户进行故障诊断使用,所以大家在使用mysql数据库的时候,应用程序千万别用root去连接数据库,一旦发生问题,dba连看数据库性能的机会都没有了

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论