mysql中Too many connections问题怎么处理

技术mysql中Too many connections问题怎么处理这篇文章将为大家详细讲解有关mysql中Too many connections问题怎么处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这

本文将详细解释如何处理mysql中连接过多的问题。边肖觉得很实用,分享给大家参考。希望你看完这篇文章能有所收获。

1.问题陈述

应用程序登录中连接过多时报告的错误

mysql中Too  many  connections问题怎么处理

请检查mysql数据库服务器是否已达到max_connections上限。

mysql中Too  many  connections问题怎么处理

mysql显示像“max_connections”这样的变量;

- -

|变量名|值|

- -

| max_connections | 1900 |

- -

1行一组(0.00秒)

mysql显示processlist

会话数已达到1900个。

thread_pool设置不会阻止会话数量的增加。

mysql显示像“thread_pool%”这样的变量;

- -

|变量名|值|

- -

|线程池算法| 0 |

|线程池_高优先级_连接| 0 |

| thread _ pool _ max _ unused _ threads | 0 |

| thread _ pool _ prio _ kickup _ timer | 1000 |

| thread_pool_size | 16 |

| thread_pool_stall_limit | 6 |

- -

6行一组(0.00秒)

2.问题处理

重新启动mysql服务。重启mysql服务后,mysql中的会话数量确实减少了,但很快会话数量就上升到了1900个。

判断mysql服务器端的会话没有释放,但是应用端的会话没有释放。

重启应用的两台服务器,mysql会话数将恢复正常。

3.结论

我们先来看看mysql服务器的会话保持时间:

mysql显示像“%wait_timeout%”这样的变量;

- -

|变量名|值|

- -

| innodb_lock_wait_timeout | 50 |

| lock_wait_timeout | 31536000 |

| wait_timeout | 28800 |

- -

3行一组(0.00秒)

mysql显示像“%interactive_timeout%”这样的变量;

- -

|变量名|值|

- -

| interactive_timeout | 28800 |

- -

1行一组(0.00秒)

Interactive_timeout:服务器在关闭交互连接之前等待活动的秒数。交互式客户端被定义为在mysql_real_connect()中使用CLIENT _ INTERVAL选项的客户端。另请参见wait_timeout。

Wait_timeout:服务器在关闭非交互连接之前等待活动的秒数。当线程启动时,会话wait_timeout值根据全局wait_timeout值或全局interactive_timeout值进行初始化,具体取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义),另请参见interactive_timeout。

所以,这两个变量是共同控制的,所以必须修改。此外,这两个变量wait_timeout的值的范围是1-2147483(Windows)到1-31536000(linux),interactive_time的值随wait_timeout而变化,它们的默认值是28800。

MySQL的系统变量由配置文件控制。在配置文件中未配置时,系统使用默认值,该值为28800。如果您想修改它,您只能在配置文件中修改它。在Windows下,在%MySQL HOME%/bin下有一个mysql.ini配置文件。打开后,添加两个变量并赋值。

要解决这个问题:

1、在客户端使用连接池(在MySQL Connector中)来减少客户端和服务器之间的活动连接数。

是的,在客户端安装MySQL连接器。

2、改进应用程序设计,以减少所需的活动连接数,并减少连接保持活动状态的时间。

从应用程序方面,减少并发的数量和每个会话的保持时间。

3、通过调整max_connections来增加MySQL服务器处理的连接数(请记住,这会消耗额外的内存,并且仍然是有限的)

增加mysql服务器上的最大连接数,但会消耗大量内存。

建议第二种方法。因为当前应用程序会话保持时间为10分钟,所以建议降低该值。

这篇关于“如何处理mysql连接太多的问题”的文章就分享到这里了,希望。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/73049.html

(0)

相关推荐

  • CSS3的私有前缀有哪些

    技术CSS3的私有前缀有哪些这篇文章主要介绍“CSS3的私有前缀有哪些”,在日常操作中,相信很多人在CSS3的私有前缀有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS3的私有前缀

    攻略 2021年11月5日
  • 如何理解Mybatis源码

    技术如何理解Mybatis源码本篇内容介绍了“如何理解Mybatis源码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!为

    攻略 2021年10月22日
  • QGIS如何连接Arcgis Server发布数据

    技术QGIS如何连接Arcgis Server发布数据这篇文章主要介绍了QGIS如何连接Arcgis Server发布数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家

    攻略 2021年11月28日
  • springboot整合shiro权限框架(springboot集成shiro实现权限管理)

    技术Spring如何整合Shiro做权限控制模块这篇文章主要介绍Spring如何整合Shiro做权限控制模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.引入Shiro的Maven依赖<!--

    攻略 2021年12月24日
  • docker swarm集群中如何指定容器部署节点

    技术docker swarm集群中如何指定容器部署节点这篇文章给大家介绍docker swarm集群中如何指定容器部署节点,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。在docker swarm 集

    攻略 2021年10月20日
  • 黄老,道家学说为何又叫黄老学说

    技术黄老,道家学说为何又叫黄老学说黄老道是道教史前道派黄老。是方仙思想与黄老之学的结合。黄老道起名于古代学术上一个主要流派——黄老学,“黄”指黄帝,代表古代“神仙家”和“阴阳家”的思想,“老”指老子,代表道家的思想。“黄

    生活 2021年10月21日