百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL连接too many connection错误并且启动时间特别长
分享文章到:

MySQL连接too many connection错误并且启动时间特别长

发布时间:01/15 来源: 浏览: 关键词:
本文章来给各位同学介绍MySQL连接的时候出现“too many connection\"错误并且启动时间特别长的解决办法,有面要了解的朋友可参考。

昨天一台服务器上出现了一个奇怪的问题,正常访问的时候MySQL出现 "error 1040, too many connection" 错误提示,造成这个原因通常是max_connections设置的太小或者wait_timeout的值设置的太长造成连接超时时间太长。所以首先想到的是使用mysqladmin查看max_connections的值为多少

产生这种问题的原因是:

连接数超过了 MySQL 设置的值,与 max_connections 和 wait_timeout  都有关系。wait_timeout 的值越大,连接的空闲等待就越长,这样就会造成当前连接数越大。

解决方法:

 代码如下

1.[root@localhost bin]$ ./mysqladmin -uroot -p variables | grep "max_conn"

输入数据库的密码之后就可以看到max_connections的值,如果太小的话(默认为100)需要将该值设置的大一些。如果MySQL不允许中断的话可以登录MySQL之后,然后设置当前max_connections的值

 代码如下

1.[root@localhost bin]$ ./mysql -uroot -p
2.mysql> set GLOBAL max_connections=1024;


这里还需要注意的是Linux下如果系统的max user processes低于max_connections的值会出现“Can't create a new thread (errno 11); ”错误,解决方法可以参考MySQL出现Can't create a new thread (errno 11); 的解决办法。上面的设置只是在当前运行的状态下有效,如果mysql重启之后设置失效了,所以终极的方法是修改mysql的配置文件my.cnf,然后在[mysqld]下面设置max_connections的值。

但是奇怪的是这样设置之后还是依然出现那个错误,于是登录mysql之后使用 show processlist; 命令查看连接,然后使用kill命令删除了一些Sleep状态的连接,但是过一会儿又会出现too many connection的错误提示。另外我还注意到一个现象,就是MySQL启动或重启的时候时间特别长,数据库大概有2G左右的数据,但是也不至于启动这么慢吧?后来想到是不是数据库文件有问题,于是又使用了修复命令对每个表进行了修复,但是过一两个小时之后还是会出现上面的错误。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有10人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板