0

如何使用 IP 地址连接到我的远程数据库?我有这个代码,但是在晚上加载我的网站时出现错误无法连接到 MySQL:无法连接到“xxx.xx.xxx.xx:80”上的 MySQL 服务器

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

4 回答 4

2

尝试改用端口 3306:

define ('DB_HOST', 'xxx.xx.xxx.xx:3306');

端口 3306 是默认的 MySQL 端口,而端口 80 是 HTTP。

于 2013-08-16T08:03:46.053 回答
2

必须使数据库服务器可用于远程访问。由于通常的 MySQL 服务器没有加密,并且使这样的服务器可用于整个互联网通常会带来更多的安全问题,因此任何托管的 mysql 服务器通常只能从本地网络获得,如果有的话。

如果您可以从外部访问数据库服务器,请咨询您的托管公司。

在那个答案是肯定的之后,你还必须知道 MySQL 中的用户帐户不仅是用户名/密码,而且还包含一个“源 IP”组件(可以是通配符“*”,但通常不是),所以有另一层保护只允许专用 IP 地址获得访问权限。你有动态IP吗?这可能是另一个需要解决的问题。

于 2013-08-16T08:05:12.217 回答
0

如果使用端口 3306,就像另一个答案说的那样,仍然没有给你一个连接,你可以尝试两件事:

看看你的/etc/mysql/my.cnf. 你可能会发现这样一行:

bind-address           = 127.0.0.1

通过在前面加上“#”将其注释掉。如果仍然没有帮助,请检查您尝试连接的用户是否允许从所有主机连接。

哦,还有一件事:不要使用 PHP 的 mysql 库。请改用 PDO 或 mysqli,因为不推荐使用 mysql 库。

于 2013-08-16T08:06:34.393 回答
-1

尝试使用默认端口号:3306

于 2013-08-16T08:09:32.197 回答