MySQL数据库在操作中有时会出现一些异常,就不如下文中将为大家介绍的未验证的用户尝试登录,就是MySQL数据库操作过程中可能会出现的问题,下文中将为大家作出详细的讲解。
今天公司数据库出现了停顿和阻塞的问题,检查数据库的时候发现,show processlist;可以看到大量:
....
: 3436942 : unauthenticated user : 192.168.0.4:49607 : : Connect : : login :
: 3436943 : unauthenticated user : 192.168.0.4:49608 : : Connect : : login :
.....
不断有未验证的用户尝试登录却没有通过,有同学Google出来,发现是和域名解析有关系:
不管什么客户端连接上来,服务器端都会对客户端进行DNS反查,来获得客户端的域名或主机名。
很有可能是因为DNS服务器出了问题,才导致无法解析——虽然解析出来的结果应该是没有
同学通过在my.cnf中加入skip-name-resolve
来禁止反向域名解析(或者在启动命令行中添加参数--skip-name-resolve。
这种方式也是推荐的MySQL优化方式之一。
但这种方式的缺点是,权限中的host不能再使用主机名,而要使用IP地址,所幸我们配置的是“%”,因此我比较倾向于使用另一种方式,就是在/etc/hosts文件中添加对应的host记录。
相信大家通过上文的学习,在以后的工作中遇到类似的问题就能够轻松解决,希望大家都能够从上文涉及到的内容中有所收获。