2014-06-21 34 views
0

我试图远程访问一个mysql服务器,我有所有的登录信息,但每当我尝试连接时,它总是将我当前的IP或域添加到用户名,从而阻止我登录。此外,我没有终端访问服务器。mysql将我的域名附加到我的用户名

在命令行中我尝试类似:

mysql -h example.com -u the_username -p 

它返回一个错误:

ERROR 1045 (28000): Access denied for user 'the_username'@'my_isp_address.com' 

尝试:

mysql -h example.com -u [email protected] -p 

不有所作为,它只是返回:

ERROR 1045 (28000): Access denied for user '[email protected]'@'my_isp_address.com' 

我该如何解决这个问题?

+0

看看'mysql.user'表。每个用户可能有多行,但名称相同但主机不同。这样你就可以更好地控制谁可以从哪里登录。要允许用户从任何地方登录,主机必须是'%'。 – marekful

+0

只有登录后才能看到该表格。 – Jahmic

+0

“我试图远程访问mysql服务器”显然,服务器没有设置为允许来自主机的连接。首先,您必须在本地登录(例如,通过SSH连接到主机,然后在本地连接到数据库)或从允许的主机登录。 – marekful

回答

0

这就是MySql的工作方式,您必须为您的记录指定域(或IP地址)。

如果你想使用的IP地址,您将需要启用--skip-name-resolve poperty

更多的信息在这里DNS Lookup Optimization and the Host Cache

所有主机的另一个选项授予访问权限的用户:

GRANT SELECT ON `db`.`table` TO 'user_name'@'%' 

使用( %) 标志。

但是,如果您无法访问服务器或数据库,则必须找到服务器/数据库管理员,才能为您进行配置。

+0

--skip-name-resolve听起来很有希望,但在我的版本(5.5.16)中似乎没有这个选项。除此之外,我无法进行任何查询,例如GRANT,直到我能够登录。 :) – Jahmic

+0

@Jahmic嗯,比我不认为这将是可能的,你连接到这台服务器 – Uriil

+0

我最终得到了phpymadmin接口。不过,本来喜欢通过控制台应用程序进入。 – Jahmic

相关问题