连接到远程MySQL数据库

时间:2013-11-13 01:38:08

标签: mysql database

我的朋友最近允许我使用他的网站托管我的网站,他去了所有的ftp和数据库设置,我可以为它做ftp,但是,当我尝试进入数据库使用像heidisql或mysql工具包之类的东西它给我一个错误: 主机' XX-XXX-XXX-XXXX.dhcp.unas.al.charter.com'不允许连接到这个mysql服务器。我打电话给章程,他们说他们不能做任何事情,所以我假设它可能是他服务器上的cpanel设置允许远程访问它?

或者,如果我完全关闭,这将如何运作?

编辑:我想知道如何通过转到cmd行并运行本地mysql.exe然后连接-u user -p -h xxx.xxx.x.x

来使其工作

2 个答案:

答案 0 :(得分:2)

不,Charter无法对此做任何事情,因为这是一个错误directly from the MySQL server,因为你的IP地址不属于为访问而配置的主机。

Error: 1130 SQLSTATE: HY000 (ER_HOST_NOT_PRIVILEGED)
Message: Host '%s' is not allowed to connect to this MySQL server

正确的解决方案包括了解MySQL Access Privilege System将用户名+主机IP地址或连接所在的名称视为“帐户” - 而不是用户名本身。

'foo'@'localhost'   # username foo connecting from the server machine
'foo'@'192.168.1.1' # username foo from IP address 192.168.1.1
'foo'@'192.168.1.%' # username foo from IP address 192.168.1.*
'foo'@'192.168.%'   # username foo from IP address 192.168.*.*
'foo'@'%'           # username foo from any IP address

在MySQL的权限系统中,这些是5个不同的“用户”,可能有5个不同的密码。如果不允许任何用户从您的IP地址或与您匹配的任何通配符地址进行连接,那么这将是您获得的消息。这将进一步解释,herehere

您无法使用mysql命令行客户端覆盖服务器的配置,但您可以使用SSH隧道,以便服务器认为您要从localhost或其他受信任的用户进行连接主持人,正如评论中所建议的那样。

您的朋友可以通过您的地址with a GRANT statement向您授予权限。 cPanel可能提供了一个接口来执行此操作 - 我不知道,因为我直接使用MySQL - 但如果确实如此,那将是cPanel基本上编写相同的GRANT语句并将其发送到MySQL服务器被执行。

答案 1 :(得分:-1)

错误1130是网络错误。服务器无法解析客户端的主机名。或者不允许主机连接到MySQL服务器。

基本上有两类可能的原因:

  • 简单的一句:

在MySQL中,用户指定用户使用用户名和用户可以连接的主机。如果没有创建用户,其中host-part(使用通配符或不使用通配符)算法尝试连接MySQL的客户端的主机将返回此错误。

  • 棘手的:

1)

您的主机文件已损坏或无效。各种vira和间谍软件以各种方式攻击和更改主机文件。例如,如果hosts文件不包含行

127.0.0.1 localhost

'localhost'不能被解析为指向ip 127.0.0.1。在一些较大的企业网络上,它广泛用于将主机文件“推出”给具有符号名称的所有客户端(如“mysqlserver”,“mailserver”等),用于网络上的重要机器和相应的ip。请咨询您的管理员,确认您拥有正确的文件!

2)

如果使用Windows网络名称作为主机名,则可能是网络配置问题。请尝试使用ip。

此链接可能会有所帮助:

http://faq.webyog.com/content/23/36/en/i-get-error-1130-host-is-not-allowed-to-connect-or-access-denied-or-could-not-connect-.html