IP address could not be resolved: Temporary failure in name resolution

在自己的mysql日志中发现了如下的错误信息
2017-09-15T01:07:10.373535Z 5 [Warning] IP address '192.168.33.1' could not be resolved: Temporary failure in name resolution
2017-09-15T01:07:28.445920Z 6 [Warning] IP address '192.168.33.1' could not be resolved: Temporary failure in name resolution
2017-09-15T01:07:49.944375Z 7 [Warning] IP address '192.168.33.10' could not be resolved: Temporary failure in name resolution

问题产生的原因:
出现错误的原因是MYSQL Server在本地内存中维护了一个非本地的Client TCP cache。这个cache中包括了远程Client的登录信息,比方IP地址。hostname等信息。
假设Client连接到server后,Mysql首先会在本地TCP池中依据IP地址解析client的hostname或者反解析,假设解析不到。就会去DNS中进行解析,假设还是解析失败
就是在error log中写入这种警告信息。

解决的办法:
1.能够通过两个參数来disable这个功能,在MYSQL的配置文件里(亲测)[mysqld]中增加以下的參数:

[mysqld]
skip-host-cache
skip-name-resolve

然后重启数据库service mysqld restart

2.加入授权。
将全部訪问数据库server的授权方式都改成IP形式。
不同的用户用不同的username和password。

grant all on *.* to ‘user_68’@’172.16.12.68’identified by ‘pwd_68’;

然后去 mysql数据库以下的 user表 和db表 以下删除掉那些含有含有主机名字的权限记录。

猜你喜欢

转载自blog.csdn.net/b1303110335/article/details/77994189