这是我在使用php代码时遇到的错误。
"mysql_connect($host,$user,$password)", where $host="IP_of_my_system":
Warning: mysql_connect(): Host 'xxx' is not allowed to connect to this MySQL server in C:\xampp\htdocs\mysqltest\insert.php on line 4但是当使用本地主机而不是IP时,它工作得很好。
为什么会有这种行为?
发布于 2013-07-26 08:21:41
如果您了解Userid在MySQL中的工作方式,这是非常简单的。
每个userid都有一个与其相关联的位置,该用户is可以从其中登录。这可以是from anywhere %,但通常是一个ip地址或一组ip地址。
因此,您使用的userid可能是允许从localhost和127.0.0.1以及::1访问的,所有这些都是MySQL服务器正在运行的PC的寻址方式。
这些应该足够使用localhost或127.0.0.1,或者更改MySQL中的用户is定义,以便允许从192.168.0.99或任何ip地址访问,但是使用别名之一的this PC应该是您所需要的。当您将代码移动到另一台计算机和/或MySQL服务器时,使用该MySQL也会有所帮助。我希望你使用一个特定的IP,它可能不会。
发布于 2013-07-26 07:43:28
请提到$hostname中的端口no,如192.168.0.1:3306 (默认情况下是mysql端口)。
对于服务器端口,请与服务器管理员联系。
发布于 2013-07-26 08:14:45
造成问题的两个可能原因:
1)防火墙阻塞了IP_of_my_system:3306
2)您还没有在MySql中配置正确的访问。
对于第一项,检查您的系统。
对于#2,在Workbench中,输入数据库管理员。然后,点击“用户和特权”。在此页面中,必须向用户(MySQL用户,而不是Windows!)授予从地址或网络登录的权限。此权限为“每个主机”和“每个架构”。在下面的映像中,您可以看到用户"testmvc“可以从任何主机(%)登录并从本地主机登录:

在下一个图像中,您可以看到"Schema特权“选项卡:

可以看到,用户"testmvc“可以从任何主机(%)以指定的权限访问"testmvc”模式。
访问和特权的组合授予用户访问MySQL服务器并对其进行操作的权限。
https://stackoverflow.com/questions/17875642
复制相似问题