我正在使用PHP和MySQL建立数据库连接,唯一的变化是我试图从我的本地计算机使用我的服务器IP地址访问我的远程服务器。Mysql - 使用IP地址连接到远程服务器
mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());
和我得到的错误是Unable to connect to the given host
。用户拥有所有特权和权利。
我正在使用PHP和MySQL建立数据库连接,唯一的变化是我试图从我的本地计算机使用我的服务器IP地址访问我的远程服务器。Mysql - 使用IP地址连接到远程服务器
mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());
和我得到的错误是Unable to connect to the given host
。用户拥有所有特权和权利。
大多数默认安装的MySQL只会监听本地计算机。
请在服务器上查找my.cnf
中的bind-address
设置,并确保它正在侦听您的目标IP地址。您可能还需要确保skip-networking
不是开启!
或者(!少安全)以下将它设置为监听所有地址 - 本地和远程:
bind-address = 0.0.0.0
感谢大家的帮助,让我尝试这一切,并相信这将解决我的问题 – Frank
1)检查MySQL的监听连接,本地(本地主机,127.0的接口。 0.1)或远程(0.0.0.0或IP地址)。它在my.cnf中。 http://www.cyberciti.biz/tips/how-do-i-enable-remote-access-to-mysql-database-server.html
2)检查您的用户是否具有相应的权限。从本地主机登录的用户可以从远程用户获得不同的权限。例如, '用户' @ '本地主机' 和 '用户' @ '%'
尝试添加用户(USER-NAME)允许从IP连接:
mysql> GRANT ALL PRIVILEGES ON *.* TO [email protected] IDENTIFIED BY "PASSWORD";
USER-NAME是(如'widor') IP是远程连接的公共IP地址(如'195.xyz')
当然,限制您想要授予的权限(ALL PRIVILEGES可能不是你的选择)
6年后,这已经超级有用,我已经正确设置了一切,只是没有让用户访问我需要的一切。 – Craig
在你尝试使用PHP todo之前。打开你的终端或控制台,然后输入以下内容:
$的mysql -u用户名-h x.xx.xx.x -p
然后输入密码
或Windows然后类型:
\路径\到\ -u的mysql.exe用户名-h x.xx.xx.x -p
然后输入您的密码
这会给你一个更详细的响应,以作为即将到来的认证问题。你可以100%确定你的IP地址的远程登录有效。如果它工作正常,那么你的PHP代码中的东西,你错过了。
是您的服务器可从您的计算机访问?特别是MYSQL服务器端口? – Fender
尝试从终端手动连接,这将指示问题出在哪里。 – lynks