[英]PHP - Connect database remotely using IP address
如何使用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());;
尝试改用端口3306:
define ('DB_HOST', 'xxx.xx.xxx.xx:3306');
端口3306是默认的MySQL端口,而端口80是HTTP。
必须使数据库服务器可用于远程访问。 由于通常的MySQL服务器没有加密,因此使这样的服务器可用于整个Internet通常更是一个安全问题,因此任何托管的mysql服务器通常仅可从本地网络使用(如果有的话)。
请咨询您的托管公司,是否可以从外部访问数据库服务器。
之后的答案是肯定的,您还必须知道MySQL中的用户帐户不仅是用户名/密码,而且还包含“源IP”组件(可以是通配符“ *”,但通常不是),因此存在另一层保护,仅允许专用IP地址进行访问。 您有动态IP吗? 那可能是另一个要解决的问题。
如果使用端口3306(如其他答案所述)仍然无法建立连接,则可以尝试两种方法:
查看您的/etc/mysql/my.cnf
。 您可能会发现这样的一行:
bind-address = 127.0.0.1
通过在前面加上“#”来注释掉它。 如果仍然不能解决问题,请检查是否允许与您尝试连接的用户从所有主机进行连接。
哦,还有另一件事:不要使用PHP的mysql库。 请改用PDO或mysqli,因为不建议使用mysql库。
尝试使用默认端口号:3306
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.