我希望将127.0.0.1映射到多个名称,而不是作为localhost的标准方式。因此,我在Ubuntu中的/etc/host文件将有以下条目:
127.0.0.1 localhost
127.0.0.1 localhost:extra1
127.0.0.1 localhost:extra2现在,在MySQL中,我希望有一个名为卡鲁普的用户,它应该拥有不同的特权。
select user,host from users;上述语句显示
karthick localhost:extra1;
karthick localhost:extra2;我的问题:
我无法使用
mysql -u karthick -h localhost:extra1 -p会有什么问题?
问题背后的动机
我想按下面的方式登录
登录1:
mysql -u karthick -h localhost:extra1 -p登录2:
mysql -u karthick -h localhost:extra2 -p我希望登录1和登录2拥有不同的权限.希望这是可能的
发布于 2010-08-22 06:10:23
在mysql接收到连接时,它只需要识别远程系统的IP地址。然后,它必须执行“反向dns”查找,以将请求系统的IP地址转换为主机名,以便在授权表中查找主机名。虽然您可以将多个主机名映射到一个IP地址,但正如您所做的那样,mysql无法知道最初指定了哪个主机名。此时它所拥有的只有127.0.0.1,DNS解析器将返回名称“localhost”。即使改变了这一点,你也只能给它起一个名字,这样你的计划就行不通了。
但是,您可以为网络适配器提供多个不同的IP地址。我不知道在Ubuntu上设置这个程序的细节,但是应该比较容易。然后您可以设置多个主机名,每个主机名都有自己的IP连接回您的系统。在mysql设置中,请指定GRANT命令中的IP地址,而不是主机名,以避免与rDNS混淆。
https://stackoverflow.com/questions/3540051
复制相似问题