Mysql Too many connections问题
2014-10-27 15:04
260 查看
Too many connections
最近发现两台MySQL server在中午的时候忽然(很突然的那种)发飙,不断的挂掉。重启mysql也尽是失败,看mysql的errorlog,只能看到类似如下的信息:
Forcing close of thread 12232 user: 'root'
用mysqladmin 简单的监控了下mysql的情况:
mysqladmin -uroot -p******** status -i 1
发现Queries per second avg只有200左右,可以说很低,但是Threads 确非常不稳定,居然会瞬间升级200以上,一般情况下这个线程这个值都是不会高于5的个位数!
然后继续看
mysqladmin -uroot -p******** processlist
居然有大量的unauthenticated user?? 如下情况
+------+-----------+---------+----+---------+------+-------+------------------+
[root@app028 ~]# mysqladmin -uroot -p************ processlist
+------+-----------+---------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+-----------+---------+----+---------+------+-------+------------------+
| 2007 | unauthenticated user | 192.168.4.29:58519 | | Connect | | login | |
| 2008 | unauthenticated user | 192.168.4.29:58553 | | Connect | | login | |
| 2009 | unauthenticated user | 192.168.4.29:58571 | | Connect | | login | |
| 2010 | unauthenticated user | 192.168.4.29:58577 | | Connect | | login | |
| 2011 | unauthenticated user | 192.168.4.29:58579 | | Connect | | login | |
| 2012 | unauthenticated user | 192.168.4.29:58589 | | Connect | | login | |
google了一下,
发现这算属MySQL的一个bug,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过 慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会 “假死”。
解决的方案很简单,结束这个反查的过程,禁止任何解析。
打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行:
skip-name-resolve
重新载入配置文件或者重启MySQL服务即可。
最近发现两台MySQL server在中午的时候忽然(很突然的那种)发飙,不断的挂掉。重启mysql也尽是失败,看mysql的errorlog,只能看到类似如下的信息:
Forcing close of thread 12232 user: 'root'
用mysqladmin 简单的监控了下mysql的情况:
mysqladmin -uroot -p******** status -i 1
发现Queries per second avg只有200左右,可以说很低,但是Threads 确非常不稳定,居然会瞬间升级200以上,一般情况下这个线程这个值都是不会高于5的个位数!
然后继续看
mysqladmin -uroot -p******** processlist
居然有大量的unauthenticated user?? 如下情况
+------+-----------+---------+----+---------+------+-------+------------------+
[root@app028 ~]# mysqladmin -uroot -p************ processlist
+------+-----------+---------+----+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+-----------+---------+----+---------+------+-------+------------------+
| 2007 | unauthenticated user | 192.168.4.29:58519 | | Connect | | login | |
| 2008 | unauthenticated user | 192.168.4.29:58553 | | Connect | | login | |
| 2009 | unauthenticated user | 192.168.4.29:58571 | | Connect | | login | |
| 2010 | unauthenticated user | 192.168.4.29:58577 | | Connect | | login | |
| 2011 | unauthenticated user | 192.168.4.29:58579 | | Connect | | login | |
| 2012 | unauthenticated user | 192.168.4.29:58589 | | Connect | | login | |
google了一下,
发现这算属MySQL的一个bug,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过 慢(不管是不是isp提供的dns服务器的问题或者其他原因),大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会 “假死”。
解决的方案很简单,结束这个反查的过程,禁止任何解析。
打开mysql的配置文件(my.cnf),在[mysqld]下面增加一行:
skip-name-resolve
重新载入配置文件或者重启MySQL服务即可。
相关文章推荐
- mysql too many open connections问题解决方法
- Mysql中too many connections问题
- 怎样解决mysql的too many connections问题?
- Mysql Too Many Connections问题解决
- 找到一篇比较全面的解决mysql最大连接数Too many connections问题的帖子
- MySQL 1040 Too many connections 问题解决
- mysql too many open connections问题解决方法
- MySQL中too many connections问题解决
- SpringMVC中普通类里获取自动注解bean衍生出Mysql报Too many connections错误的问题
- Mysql Too Many Connections问题解决
- 解决小小书屋网访问时MySQL连接问题:Too many connections
- mysql5.6 too many connections问题解决及其他参数设置
- 如何优化Linux下MySQL 5.0【涉及discuz论坛数据库too many connections问题】
- Too many connections:解决mysql连接数过多的问题
- 关于PHP出现Too many connections 的问题
- Nginx + PHP mysql_pconnect = Database errors (Too many connections)
- 解决mysql 1040错误Too many connections的方法
- mysql报错too many connections
- MySQL 5.5 Too many connections
- 关于too many connections问题产生原因的理解