MySQL:'user'@'hostname' vs 'user'@'IPaddress'

dr_*_*dr_ 3 mysql users

我需要一个用户能够从机器 foobarhost,IP 10.11.12.13 登录我们的 MySQL 服务器 5.6。

因此我创建了一个用户,'joe'@'foobarhost'但他无法登录。我必须创建一个用户'joe'@'10.11.12.13',这次工作正常。

我的问题:MySQL 如何处理有关用户的主机名和 IP 地址?

MySQL在检查匹配之前对用户表进行排序,使用 IP 地址和主机名作为要匹配的最具体的值。但是,文档没有指定优先级 - 主机名或 IP。MySQL 是否尝试主机名解析,如果失败,则对 IP 执行检查?

用户表的推荐用法是什么:仅指定 IP 地址、主机名或两者(如我在上面的示例中所做的那样)?

Ahm*_*sna 5

我收到了这个问题,长时间的调查后,我发现有时MySQL不能解决有关的任何问题DNS在默认情况下,所以我做了以下内容:编辑hosts文件(可以在Linux下找到/etc/hosts,适用于Windows C:\Windows\System32\drivers\etc\hosts)和添加的IP,并hostname为客户端机器,在你的例子中

10.11.12.13 foobarhost
Run Code Online (Sandbox Code Playgroud)

然后保存并关闭(注意 Windows 需要重新启动才能生效),您可能需要添加以下参数--skip-name-resolve和\或--skip-host-cache.