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)

相关推荐

  • 万事胜意什么意思,一如既往,万事胜意什么意思

    技术万事胜意什么意思,一如既往,万事胜意什么意思一如既往,万事胜意的意思:和从前一样,所有的事情都能有好的发展方向。一切都比自己所期待的,还要好一点点,一点点就够了。出自《你好,旧时光》。《你好,旧时光》主要讲述了主人公

    生活 2021年10月24日
  • 川w是那里的牌照,四川各市车牌照的字母代号

    技术川w是那里的牌照,四川各市车牌照的字母代号川A ——成都川B ——绵阳川C ——自贡
    川D ——攀枝花
    川E—— 泸州
    川F ——德阳
    川G——原为绵阳川w是那里的牌照,现空缺
    川H ——广元
    川J ——遂宁
    川K

    生活 2021年10月25日
  • 描写青春的词语,形容正值青春的成语有哪些

    技术描写青春的词语,形容正值青春的成语有哪些形容正值青春的成语有:风华正茂描写青春的词语,二八年华,红颜绿鬓,软玉娇香,朱颜绿发 1,风华正茂[fēng  huá  zhèng  mào]: 正是青春焕发、风采动人和才华

    生活 2021年10月23日
  • 外键约束

    技术外键约束 外键约束外键:外键约束是指表中某个字段的值依赖于另一张表中某个字段的值,而被依赖的字段必须且有主键约束或者唯一约束。
    被依赖的表我们通常称之为父表或者主表,设置外键约束的表称为字表或从表。

    礼包 2021年12月15日
  • 罗马数字0,罗马数字里的0怎么写啊

    技术罗马数字0,罗马数字里的0怎么写啊罗马数字没0 一.罗马数字 罗马数字是一种现在应用较少的一种的数量表示方式。它的产生晚于中国甲骨文中的数码,更晚于埃及人的十进位数字。但是,它的产生标志着一种古代文明的进步。大约在两

    生活 2021年10月27日
  • 如何理解Redis数据库、键过期的实现

    技术如何理解Redis数据库、键过期的实现如何理解Redis数据库、键过期的实现,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。数据库的实现我们先看代码 se

    攻略 2021年11月24日