连接 MySQL 时遇到奇怪问题(似乎发生了莫名其妙的反向域名解析)

2015-01-28 03:11:33 +08:00
 013231

mysql.user表中已存在root@127.0.0.1的账号, 但依然无法使用此账号连接.

root@castle /e/postfix# mysql -h 127.0.0.1 -u root -p
Enter password:
ERROR 1130 (HY000): Host 'lixxx-yyy.members.linode.com' is not allowed to connect to this MySQL server

随后尝试创建了testuser@127.0.0.1的账号, 同样无法连接, 错误原因相同. 以上实验是通过UNIX socket连接后进行的.

'lixxx-yyy.members.linode.com'是服务器公网IP反解得到的名称. 似乎MySQL先反解了公网IP, 然后对得到的主机名进行审核并拒绝连接. 可它为什么不直接使用IP呢?

3635 次点击
所在节点    MySQL
6 条回复
yangqi
2015-01-28 06:19:18 +08:00
my.cnf里加一行
skip-name-resolve
Admstor
2015-01-28 15:28:13 +08:00
你可以添加localhost
013231
2015-01-28 19:13:51 +08:00
@yangqi 没用的, 现在错误是"ERROR 1130 (HY000): Host '106.186.xyz.abc' is not allowed to connect to this MySQL server" '106.186.xyz.abc'是公网IP.

@Admstor 对于MySQL, localhost是UNIX Socket.
p2p
2015-01-28 20:07:07 +08:00
你把这个本机ip加下权限 重启下mysql

可能是反向解析的问题
bobchengbin
2015-02-02 23:28:31 +08:00
@013231 “@yangqi ” 说的是对的,你确定你是加在了 [mysqld] 这个下面了吗?
013231
2015-02-03 01:24:51 +08:00
@bobchengbin 确定, 没用的. 这个问题的实质是, 连接本地mysqld时, 它把eth0 ip当做我的host, 而不是127.0.0.1.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/166050

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX