Lui*_*len 15 mysql user-permissions
我正在尝试创建一个 MySQL 用户,该用户只能从特定主机名连接到 MySQL 数据库。
将 db_name.* 上的所有内容授予由“some_passwd”标识的“user_name”@“appserver-lan.mydomain.com”
通过查看mysql db上的user表,可以看到用户创建成功:
使用mysql;select * from user where User='user_name' and Host='appserver-lan.mydomain.com'
或者
显示“用户名”@“appserver-lan.mydomain.com”的授权
我指定的主机名是 amazon-ec2 名称的别名,当 AWS DNS 服务器解析时会生成 LAN 地址:
[root@db_server ~] # 主机 appserver-lan.mydomain.com
appserver-lan.mydomain.com 是 ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com 的别名 ec2-xxx-xxx-xxx-xxx.compute-1.amazonaws.com 的地址为 10.xxx .xxx.xxx
问题是,当我尝试从这个 appserver-lan 连接到数据库 LAN IP 时,尽管密码正确,但我收到了拒绝访问错误。这里奇怪的是,错误中显示的主机名不是我在创建用户时指定的主机名:
错误 1045 (28000):用户“user_name”@“ appserver.mydomain.com ”的访问被拒绝(使用密码:是)
所以,我的问题是:mysql 如何确定客户端主机名?我相信它不是通过反向 DNS 查找来实现的,因为我检查过并且它既没有指向“appserver.mydomain.com”,也没有指向“appserver-lan.mydomain.com”。此外,db 服务器在 /etc/hosts 上没有与 appserver 相关的条目。
总而言之,我很确定这是一个主机名解析问题,因为授予主机“%”或 LAN IP 的权限工作得很好。
对我缺少的东西有什么想法吗?
| 归档时间: |
|
| 查看次数: |
34903 次 |
| 最近记录: |