您的当前位置:首页正文

mysql执行showprocesslist出现”unauthenticateduser”的解决_MySQL

2020-11-09 来源:意榕旅游网

bitsCN.com 一台unibilling机器前几天突然负载变重. 在top中发现cpu被大量占用. agi程序运行的很慢,并出现僵尸进程. 其实当时只有50个左右的并发呼叫. 远远达不到正常水准. 重新启动机器问题也没得到解决. 非常奇怪.

考虑到在top中看到mysqld占用的资源最多,就进入mysql控制台,运行show processlist命令, 发现某进程的信息很特殊:

User "unauthenticated user"
Command "connect"
State "reading from net"难道是黑客从internet上攻击我的机器? 显然不是, 因为Host那一列显示的是”localhost”.

没办法. 在google上一查找,竟发现若干人遇到过该问题. 也不能算是mysql的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.
作者OurMySQL bitsCN.com
显示全文