2

我的朋友最近允许我在我拥有的网站上使用他的虚拟主机,他去完成了所有的 ftp 和数据库设置,我可以为它做 ftp,但是,当我尝试使用 heidisql 之类的东西进入数据库时或mysql工具包它给我一个错误:Host'XX-XXX-XXX-XXXX.dhcp.unas.al.charter.com' is not allowed to connect to this mysql server。我打电话给宪章,他们说他们不能做任何事情,所以我假设这可能是他服务器上的 cpanel 中的一个设置,允许远程访问它?

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

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

4

2 回答 2

2

不,Charter 对此无能为力,因为这是直接来自 MySQL 服务器的错误,因为您的 IP 地址不在配置为访问的主机中。

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

正确的解决方案包括理解MySQL 访问权限系统将用户名 + 主机 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 地址或任何与您匹配的通配符地址连接,这将是您收到的消息。这将在此处此处进一步解释。

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

解决方法是让您的朋友通过GRANT声明在您的地址授予您特权。cPanel 可能会提供一个接口来执行此操作——我不知道,因为我直接使用 MySQL——但如果是这样,那将是 cPanel 基本上编写相同的GRANT语句并将其发送到 MySQL 服务器以执行。

于 2013-11-13T04:20:23.417 回答
-1

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

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

  • 最简单的一个:

在 MySQL 中,用户是使用用户名和用户可以连接的主机来指定的。如果没有在主机部分(使用或不使用通配符)mathces 的位置创建用户,则尝试连接 MySQL 的客户端主机将返回此错误。

  • 棘手的:

1)

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

127.0.0.1 本地主机

'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-连接-.html

于 2013-11-13T05:36:05.357 回答