如何使用ip地址连接到我的远程数据库?我有这个代码但是evetime我加载我的网站我得到一个错误无法连接到MySQL:无法连接到MySQL服务器'xxx.xx.xxx.xx:80'
define ('DB_USER', 'user');
define ('DB_PASSWORD', 'password');
define ('DB_HOST', 'xxx.xx.xxx.xx:80');
define ('DB_NAME', 'databaseName');
$dbc=mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
OR die ('Could not connect to MySQL: '.mysql_error()); @mysql_select_db (DB_NAME)
OR die ('Could not select the database" '.mysql_error());;
答案 0 :(得分:2)
请尝试使用端口3306:
define ('DB_HOST', 'xxx.xx.xxx.xx:3306');
端口3306是默认的MySQL端口,而端口80是HTTP。
答案 1 :(得分:2)
必须使数据库服务器可用于远程访问。由于通常的MySQL服务器没有加密,并且使这样的服务器可用于整个互联网通常更具安全性问题,因此任何托管的mysql服务器通常只能从本地网络获得(如果有的话)。
如果您可以从外部访问数据库服务器,请咨询您的托管公司。
在答案是肯定的之后,您还必须知道MySQL中的用户帐户不仅是用户名/密码,还包含“源IP”组件(可以是通配符“*”,但通常不是),所以还有另一层保护,只允许专用IP地址获得访问权限。你有动态IP吗?这可能是另一个需要解决的问题。
答案 2 :(得分:0)
如果使用端口3306,就像其他答案所说,仍然没有给你连接,你可以尝试两件事:
查看/etc/mysql/my.cnf
。你可能会找到这样的一行:
bind-address = 127.0.0.1
通过在前面添加“#”来评论它。 如果仍然没有帮助,请检查您尝试连接的用户是否允许从所有主机连接。
哦,还有一件事:不要使用PHP的mysql库。请改用PDO或mysqli,因为不推荐使用mysql库。
答案 3 :(得分:-1)
尝试使用默认端口号:3306