我的朋友最近允许我使用他的网站托管我的网站,他去了所有的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
来使其工作答案 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地址或与您匹配的任何通配符地址进行连接,那么这将是您获得的消息。这将进一步解释,here和here。
您无法使用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。
此链接可能会有所帮助: