我正在使用PHP和MySQL建立一个数据库连接,唯一的变化是我尝试使用我的服务器IP地址从我的本地计算机访问我的远程服务器。
mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());我得到的错误是Unable to connect to the given host。用户拥有所有特权和权利。
发布于 2011-10-13 21:26:48
大多数默认安装的MySQL只侦听本地计算机。
在服务器上的my.cnf中查找bind-address设置,并确保它正在侦听您要侦听的IP地址。您可能还需要确保skip-networking未打开!
或者(而且不太安全!)下面将设置它侦听所有地址-本地和远程:
bind-address = 0.0.0.0发布于 2011-10-13 21:27:41
尝试添加允许从IP连接的用户(用户名):
mysql> GRANT ALL PRIVILEGES ON *.* TO USER-NAME@IP IDENTIFIED BY "PASSWORD";USER-NAME是您要创建的用户名(如'widor') IP是远程连接的公共IP地址(如'195.x.y.z')
当然,限制您想要授予的特权(所有特权可能都不是您的选择)
发布于 2011-10-13 21:28:26
在你尝试使用PHP来做这件事之前。打开您的终端或控制台,然后键入以下内容:
$ mysql -u用户名-h x.xx.xx.x -p
然后输入你的密码
或在windows上,然后键入:
\path\to\mysql.exe -u username -h x.xx.xx.x -p
然后输入你的密码
这将为您提供有关即将出现的身份验证问题的更详细的响应。您可以100%确定您的IP地址的远程登录工作。如果它工作得很好,那么它就是您的PHP代码中缺少的东西。
https://stackoverflow.com/questions/7754757
复制相似问题