解决 MySQL 出现 UnauthenticatedUser 的问题
侧边栏壁纸
  • 累计撰写 170 篇文章
  • 累计收到 176 条评论

解决 MySQL 出现 UnauthenticatedUser 的问题

若海
2011-10-06 / 2 评论 / 57,618 阅读 / 正在检测是否收录...

发现MySQL在上午的时候忽然发飙,不断的挂掉。看MySQL的error.log,只能看到类似如下的信息:

Forcing close of thread 12232 user: 'root'

在服务器执行如下命令

mysqladmin -uroot -p******** status -i 1

发现Queries per second avg只有200左右,可以说很低,但是Threads确非常不稳定,居然会瞬间升至200以上,一般情况下这个线程这个值都是不会高于5的个位数。

在服务器执行如下命令

mysqladmin -uroot -p******** processlist

发现居然有大量的unauthenticated user进程。Google了一下,发现这算MySQL的一个BUG,不管连接是通过hosts还是ip的方式,MySQL都会对DNS做反查,IP到DNS,由于反查的接续速度过慢,大量的查询就难以应付,线程不够用就使劲增加线程,但是却得不到释放,所以MySQL会“假死”。

解决方案

结束这个反查的过程,禁止任何解析,打开mysql的配置文件增加如下内容:

[mysqld]
skip-name-resolve

重新载入配置文件或者重启MySQL服务即可。

0

评论 (2)

取消
  1. 头像
    Aliyah
    Windows 10 · Google Chrome

    我喜欢,顶一个!

    回复
    1. 头像
      若海 作者
      Windows 10 · Google Chrome
      @ Aliyah

      谢谢~~

      回复