0

我正在尝试使用端口 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 的数据库上使用相同的脚本。我错过了什么?

4

2 回答 2

1

连接到远程数据库需要做三件事:

  • 在防火墙上打开端口 3306。服务器和客户端的防火墙必须打开 3306 端口!
  • 在 my.cnf bind-address = 0.0.0.0 让mysql绑定到所有接口
  • 数据库中有足够的权限以允许远程连接

虚拟所有托管公司关闭防火墙上的 3306 端口,不允许直接远程访问。即使他们这样做,您也不会获得连接到数据库的权限。

仅当远程数据库在您的 LAN 中,或者您使用具有 root 访问权限的 VPS 时,您才能进行配置以建立远程连接。

于 2012-09-13T16:58:25.300 回答
1

第一:您错过了使用 mysqli_* 函数而不是 mysql_* 函数有关更多信息,请查看此处

对于您的问题:我敢打赌,在您的 mysql_server ccline.dyndns.info上,端口 3306 / 3307 未打开......或者服务器配置为不监听不等于localhost的请求

因此,如果您在与 mysql 服务器相同的机器上使用 php-script,请通过localhost:3307连接.....

于 2012-09-13T16:59:32.573 回答