PHP - 使用IP地址远程连接数据库

时间:2013-08-16 08:01:51

标签: php database connection ip host

如何使用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());;

4 个答案:

答案 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