我正在尝试在端口 3307 上使用以下脚本远程连接到 MySql 数据库
$username="user";
$password="pass";
$database="db";
mysql_connect('ccline.dyndns.info:3307',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
但无法连接。我在使用 3306 的数据库上使用了相同的脚本。我缺少什么?
最佳答案
连接到远程数据库需要三件事:
- 端口 3306 在防火墙上打开。服务器和客户端的防火墙必须开放3306端口!
- 在my.cnf中bind-address = 0.0.0.0让mysql绑定(bind)到所有接口(interface)
- 数据库中有足够的权限以允许远程连接
虚拟所有托管公司都关闭防火墙上的 3306 端口,并且不允许直接远程访问。即使他们这样做,您也不会获得连接数据库的权限。
仅当远程数据库位于您的 LAN 中,或者您使用具有 root 访问权限的 VPS 时,您才可以进行配置以进行远程连接。
关于php - 使用端口 3307 连接到 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411171/