2010-08-22 33 views
1

我想将127.0.0.1映射到多个名称而不是标准方式作为本地主机。所以我的/ etc/hosts文件在Ubuntu文件将具有以下项多个主机名和多个权限?

127.0.0.1 localhost 
    127.0.0.1 localhost:extra1 
    127.0.0.1 localhost:extra2 

现在,在我的SQL,我想有一个用户名为karthick,它应该有不同的权限。

select user,host from users; 

上述声明显示

karthick localhost:extra1; 
    karthick localhost:extra2; 

,我用来创建一个用户的命令是

我的问题:

  1. 我不能够通过执行登录

    mysql -u karthick -h localhost:extra1 -p 
    

会是什么问题?

mysql -u karthick -h localhost:extra1 -p 

登录2:

mysql -u karthick -h localhost:extra2 -p 

现在我想看哪问题

我想登录如下

登录1落后

动机杜松子酒1和登录2有不同的特权...希望这是可能的

+0

http://dev.mysql.com/doc/refman/5.1/en/privilege-system.html 请不要找到行: 您可以授予一组权限由办公室乔连接。 example.com,以及来自home.example.com的joe连接的一组不同权限。 – 2010-08-22 04:13:45

回答

0

在mysql接收连接的点,所有它必须识别远程系统是IP地址。然后它必须执行“反向dns”查找,将请求系统的IP地址转换为主机名,以便它可以在授权表中查找主机名。虽然您可以将多个主机名映射到单个IP地址,但您无法知道最初指定了哪个主机名。在那一刻,它所有的是127.0.0.1,并且DNS解析器将返回名称'localhost'。即使改变了这一点,你也只能给它一个名字,所以你的方案将无法工作。

但是,您可以给您的网络适配器多个不同的IP地址。我不知道在Ubuntu上设置它的细节,但它应该相对容易。然后你可以设置多个主机名,每个主机名都有自己的IP连接到你的系统。在您的mysql设置中,请在您的GRANT命令中指定IP地址而不是主机名,以避免与rDNS混淆。

+0

我试着设置多个IP地址并使用新的IP地址连接。那就是 mysql -u root -h 192.168.9.2 -p 但是它的工作.....我得到的错误是“无法连接到MySQL服务器上'197.168.9.2'” – 2010-08-23 01:21:33

+0

你有192.168.9.2和** 197 **。168.9.2 - 是你的评论错字还是真实的信息? – 2010-08-23 02:02:03

+0

这是一个错字.. – 2010-08-24 00:08:07