mysql错误日志:Forcing close of thread xxx user: 'root'

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

#缘由

最近后台网站总是崩,发现是由于数据库异常引起的,由于登录上服务器,mysql进程运行正常,但就是连接不上去好像进入‘假死’状态一样;

#排查

打开mysql错误日志,一般是/usr/local/mysql/var/xxx.err文件,发现大量Forcing close of thread xxx user: 'root'的报错日志;在网上查找资料,说这是由于mysql自身的原因:dns反查,可以说是mysql的一个bug吧。

#解决

打开mysql的配置文件my.cnf,在文件中[]添加以下配置:

skip-name-resolve

重启mysql;
或者kill掉mysql进程,然后再启动进程时在启动命令后加上:

--skip-name-resolve

#拓展

mysql默认状态下是自动dns反向解析的,这是属于mysql系统上的一个特殊设定,把这个当成是mysql的一个bug算了;不管链接的的方式是经过 hosts 或是 IP 的模式,他都会对 DNS 做反查 mysqld 会尝试去反查 IP → dns ,由于反查解析过慢,就会无法应付过量的查询。
拓展引用:

http://blog.sina.com.cn/s/blog_1512521570102wblo.html

转载于:https://my.oschina.net/u/3714085/blog/1928336

你可能感兴趣的:(mysql错误日志:Forcing close of thread xxx user: 'root')