2012-05-24 53 views
0

我试图连接到远程主机,开发,从我的网络服务器上。当我从webserve composer.domain.com做这个命令:mysql -u username -ppassword -h dev.domain.com,我得到认证后的错误,即访问被拒绝[email protected]远程MySQL主机认为我是一个不同的主机

sports.domain.comIS网络服务器上有效的虚拟主机,但它是14之一,它不是主要主机,也不是IP通过DNS解析到的主机。

任何想法,我应该看看为什么MySQL认为我来自sports.domain.com而不是预期的composer.domain.com

+0

IP地址只能被反向映射到单个主机名。如果您使用的是多域名主机,则只会显示为“来自”PTR记录中列出的一台主机。这就是mysql将用来确定你来自哪里的主机。 –

+0

我们使用的是基于IP的虚拟主机,而不是基于名称的虚拟主机。所以每个域都有自己独特的IP。 – Pickle

+0

但是你有控制哪些IP是你的mysql连接的出口点吗? –

回答

0

在创建MySQL的用户,应该指定,其中用户被允许连接的主机。默认情况下它是localhost。尝试在数据库服务器上添加其他用户帐户,请尝试以下操作:

  1. CREATE USER '用户名' @ '%' IDENTIFIED BY PASSWORD '密码';

OR

  1. CREATE USER 'username'@'sports.domain.com' IDENTIFIED BY PASSWORD '密码';

% - 这意味着所有客户端都允许使用用户帐户连接。

+0

我要连接的数据库只包含公共数据,所以这是我为解决此问题所做的工作。但它并没有真正解决问题。 – Pickle