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)

相关推荐

  • 如何关闭mysql日志(mysqlbinlog日志开启后不生效)

    技术如何解决mysql的bin-log导致/var目录过大无法启动问题这期内容当中小编将会给大家带来有关如何解决mysql的bin-log导致/var目录过大无法启动问题,文章内容丰富且以专业的角度为大家分析和叙述,阅读

    攻略 2021年12月14日
  • c++面试题(c++和Python哪个好)

    技术如何进行C++模板显式具体化的分析如何进行C++模板显式具体化的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。模板函数虽然非常好用,但是也存在一些问

    攻略 2021年12月18日
  • C语言中字符串反转怎么实现

    技术C语言中字符串反转怎么实现这篇文章主要介绍C语言中字符串反转怎么实现,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!代码实现#include
    #include <string

    攻略 2021年11月11日
  • 开源机器学习JavaScript框架有哪些

    技术开源机器学习JavaScript框架有哪些这篇文章将为大家详细讲解有关开源机器学习JavaScript框架有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、 TensorFl

    攻略 2021年10月30日
  • 狼原文及翻译,狼,蒲松龄解释和全文翻译

    技术狼原文及翻译,狼,蒲松龄解释和全文翻译《狼》翻译屠夫傍晚回家狼原文及翻译,担子里只剩下骨头,路上遇见两只狼,紧跟着走了很远。 屠夫害怕了,把骨头扔给狼,一只狼得到骨头停下了,另一只狼仍然跟着他。屠夫又把骨头扔给狼,后

    生活 2021年10月26日
  • Xamarin .机器人真机测试提示安装失败更新不兼容错误怎么办

    技术Xamarin.Android真机测试提示INSTALL_FAILED_UPDATE_INCOMPATIBLE错误怎么办小编给大家分享一下Xamarin.Android真机测试提示INSTALL_FAILED_UPD

    攻略 2021年12月21日