以前也看到过这个错误信息,不过今天想彻底的研究一下。
其实也不算错误,顶多就算是警告。查看错误日日志时,有如下信息:
110908 10:21:56 [Warning] 'user' entry 'root@server1‘ ignored in --skip-name-resolve mode.
110908 10:21:56 [Warning] 'user' entry '@server1' ignored in --skip-name-resolve mode.
网上查了下资料,才明白是这么回事:
skip-name-resolve 参数的目的是不再把域名解析成IP,这样可以加快数据库的反应时间。然而我们使用这个参数后,原来数据库中已经存在的域名就不能再被解析了。不妨先看看mysql库中相关的数据:
mysql> select user,host from user;
+------+------------------+
| user | host |
+------+------------------+
| root | 127.0.0.1 |
| | server1 |
| root | server1|
| | localhost |
| root | localhost |
+------+------------------+
这里面的host列正好和错误日中中的那个warning相吻合。既然已经不能解析成IP了,也就是说里面的server1已经不再生效了。删除得了。
mysql> delete from user where host='server1';
Query OK, 2 rows affected (0.00 sec)
删除后,错误日志中则不再出现类似的警告信息。
其实也不算错误,顶多就算是警告。查看错误日日志时,有如下信息:
110908 10:21:56 [Warning] 'user' entry 'root@server1‘ ignored in --skip-name-resolve mode.
110908 10:21:56 [Warning] 'user' entry '@server1' ignored in --skip-name-resolve mode.
网上查了下资料,才明白是这么回事:
skip-name-resolve 参数的目的是不再把域名解析成IP,这样可以加快数据库的反应时间。然而我们使用这个参数后,原来数据库中已经存在的域名就不能再被解析了。不妨先看看mysql库中相关的数据:
mysql> select user,host from user;
+------+------------------+
| user | host |
+------+------------------+
| root | 127.0.0.1 |
| | server1 |
| root | server1|
| | localhost |
| root | localhost |
+------+------------------+
这里面的host列正好和错误日中中的那个warning相吻合。既然已经不能解析成IP了,也就是说里面的server1已经不再生效了。删除得了。
mysql> delete from user where host='server1';
Query OK, 2 rows affected (0.00 sec)
删除后,错误日志中则不再出现类似的警告信息。
编辑回复