这篇文章给大家介绍mysql执行show processlist出现unauthenticated user的解决方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
一台unibilling机器前几天突然负载变重. 在top中发现cpu被大量占用. agi程序运行的很慢,并出现僵尸进程. 其实当时只有50个左右的并发呼叫. 远远达不到正常水准. 重新启动机器问题也没得到解决. 非常奇怪.
考虑到在top中看到mysqld占用的资源最多,就进入mysql控制台,运行show processlist命令, 发现某进程的信息很特殊:
User "unauthenticated user"
Command "connect"
State "reading from net"难道是从internet上攻击我的机器? 显然不是, 因为Host那一列显示的是”localhost”.
没办法. 在google上一查找,竟发现若干人遇到过该问题. 也不能算是的bug,因为通过更改配置文件/etc/my.cnf即可解决.
具体地讲,在mysqld那一栏中添加skip-name-resolve
[mysqld]
skip-name-resolve
注意, skip-name-resolve可以禁用dns解析,但是,这样不能在mysql的授权表中使用主机名了,只能使用IP. 以前创建mysql用户是若用的是localhost现在则需要用127.0.0.1来代替在grant语句中执行一下添加该用户.
然后, 重新启动mysqld.
关于mysql执行show processlist出现unauthenticated user的解决方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。