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)

相关推荐

  • 香港云与VPS的区别云服务器香港

    技术香港云与VPS的区别云服务器香港任何稳运行的网站都需要的云服务器与VPS服务器平台的基石。如果不了解这些云服务器和VPS,选择合适的网络托管类型可能既乏味又耗时。下面就来简单介绍一下二者的区别什么是香港云服务器? 云

    礼包 2021年12月17日
  • Solr4.7如何使用分组查询方面

    技术solr4.7分组查询facet怎么使用本篇内容主要讲解“solr4.7分组查询facet怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“solr4.7分组查询fa

    攻略 2021年12月22日
  • ORA-00313 ORA-00312 redo日志报错怎么处理

    技术ORA-00313 ORA-00312 redo日志报错怎么处理小编给大家分享一下ORA-00313 ORA-00312 redo日志报错怎么处理,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家

    攻略 2021年11月17日
  • Hibernate在HQL中查询的方法有哪些

    技术Hibernate在HQL中查询的方法有哪些本篇内容介绍了“Hibernate在HQL中查询的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧

    攻略 2021年12月4日
  • 怎么使用span解决数组退化和越界访问

    技术怎么使用span解决数组退化和越界访问本篇文章给大家分享的是有关怎么使用span解决数组退化和越界访问,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。数组

    攻略 2021年11月10日
  • Linux权限位介绍

    技术Linux权限位介绍 Linux权限位介绍Linux 系统,最常见的文件权限有 3 种,即对文件的读(用 r 表示)、写(用 w 表示)和执行(用 x 表示,针对可执行文件或目录)权限。在 Linu

    礼包 2021年12月7日