`
libran
  • 浏览: 188275 次
  • 性别: Icon_minigender_1
  • 来自: 天津
文章分类
社区版块
存档分类
最新评论

解决Mysql连接过多错误的方法

阅读更多
问:怎样解决mysql连接过多的错误?

答:系统不能连接数据库,关键要看两个数据:

    1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。

    2、数据库当前的连接线程数threads_connected。这是动态变化的。

    查看max_connections、max_connections的办法见后。

    如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。

    因为创建和销毁数据库的连接,都会消耗系统的资源。而且为了避免在同一时间同时打开过多的连接线程,现在编程一般都使用所谓数据库连接池技术。

    但数据库连接池技术,并不能避免程序错误导致连接资源消耗殆尽。

    这种情况通常发生在程序未能及时释放数据库连接资源或其他原因造成数据库连接资源不能释放,但强坛系统估计不会发生这种低级的编程错误。

    该错误的简便的检查办法是,在刷新强坛页面时,不断监视threads_connected的变化。如果max_connections足够大,而 threads_connected值不断增加以至达到max_connections,那么,就应该检查程序了。当然,如果采用数据库连接池技术, threads_connected增长到数据库连接池的最大连接线程数时,就不再增长了。

    从强坛出错的情况看,更大的可能性是数据库系统没能进行适当地配置。下面提出一点建议。供参考

让你们的工程师把MySQL的最大允许连接数从默认的100调成32000。这就不会老出现连接过多的问题了。

查看max_connections

进入MySQL,用命令:

show variables

查看数据库最大可连接数的变量值:

max_connections

查看threads_connected

进入MySQL,用命令:

show status查看当前活动的连接线程变量值:

threads_connected

设置max_connections

设置办法是在my.cnf文件中,添加下面的最后红色的一行:

[mysqld]
port=3306
#socket=MySQL
skip-locking
set-variable = key_buffer=16K
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = table_cache=4
set-variable = sort_buffer=64K
set-variable = net_buffer_length=2K
set-variable = max_connections=32000

修改完毕后,重启MySQL即可。当然,为了确保设置正确,应该查看一下max_connections。

注意:

1、虽然这里写的32000。但实际MySQL服务器允许的最大连接数16384;

2、除max_connections外,上述其他配置应该根据你们系统自身需要进行配置,不必拘泥;

3、添加了最大允许连接数,对系统消耗增加不大。

4、如果你的mysql用的是my.ini作配置文件,设置类似,但设置的格式要稍作变通。

分享到:
评论

相关推荐

    MySQL Sleep连接过多问题解决方法

    主要介绍了MySQL Sleep连接过多问题解决方法,MySQL Sleep连接过多一般多为客户端没关闭连接导致的,解决方法很简单,修改一下配置文件即可,需要的朋友可以参考下

    mysql连接过多和死掉以及拒绝服务的解决方法

    mysql连接过多导致总是死掉,后来网上搜索发现此文自Mysql 5.x的某个版本之后,Mysql的自动关闭空闲连接的特性修改了,如果一个连接空闲到超时时间(默认28000秒8小时),再次发起的Reconnect重新连接请求不会被...

    批量杀死MySQL连接的四种方法详解

     通过information_schema.processlist表中的连接信息生成需要处理掉的MySQL连接的语句临时文件,然后执行临时文件中生成的指令。 代码如下: mysql> select concat(‘KILL ‘,id,’;’) from information_schema....

    关于mysql提示too many connections问题解决方法.doc

    关于mysql 提示too many connections问题解决办法mysql 提示too many connections是由于当前服务器上的mysql连接过多,一方面清当前已有连接,另一方面是改 max_connections (最大连接量)(就是开源节流思想),我...

    PHP实现清除MySQL死连接的方法

    本文实例讲述了PHP实现清除MySQL死连接的方法。分享给大家供大家参考,具体如下: 连接的情况,主要表现为有过多的Sleep连接,并且Time时间很长,占满了所有的可用连接数,以至于其它用户无法再连接数据库。我开始...

    workerman写mysql连接池的实例代码

    2、减少数据库的并发连接数,即解决应用服务器过多导致的数据库 too many connections 问题 如果是为了解决问题1 则在workerman中数据库连接池不是最高效的方法,反而是自找麻烦的做法。由于PHP是单进程单线程的,...

    CentOS 7中MySQL连接数被限制为214个的解决方法

    最近在项目中遇到一个问题,由于连接数过多,提示 “Too many connections” ,需要增加连接数。 我在 /etc/my.cnf中修改了: max_connections = 2000 但是, 实际连接数一直被限制在 214: mysql> show variables ...

    MySQL 5.1官方简体中文参考手册

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 ...

    MySQL 5.1中文手冊

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 ...

    MySQL 5.1参考手册

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 ...

    MySQL 5.1参考手册中文版

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户...

    mysql5.1中文手册

    与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户...

    MySQL 5.1参考手册 (中文版)

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 ...

    MYSQL中文手册

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户...

    mysql官方中文参考手册

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 ...

    MySQL5.1参考手册官方简体中文版

    5.7.4. 与MySQL服务器连接 5.7.5. 访问控制, 阶段1:连接核实 5.7.6. 访问控制, 阶段2:请求核实 5.7.7. 权限更改何时生效 5.7.8. 拒绝访问错误的原因 5.7.9. MySQL 4.1中的密码哈希处理 5.8. MySQL用户账户管理 ...

    MYSQL优化详情大全

    以下是一些常见的MySQL优化方法和技巧的描述: 优化数据库结构:设计良好的数据库结构可以提高查询效率。包括正确选择数据类型、合理设置索引、避免冗余字段等。 优化查询语句:编写高效的查询语句可以减少数据库...

Global site tag (gtag.js) - Google Analytics