php - 使用端口 3307 连接到 MySql

标签 php mysql ajax

我正在尝试在端口 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/

相关文章:

javascript - 为不同的 Url 重写 htaccess 规则

mysql - MySQL 中的 generate_series() 等价物

javascript - 无法直接访问 ajax 响应属性,尽管它存在

php - 在 MySQL/PHP 中存储用户 BIRTHDATES 的最佳方式是什么?

php - 使用 PHPUnit 达到 100% 的代码覆盖率

mysql - 访问 选择最小数量 最大日期

mysql - 'AND 1'/'AND 0' 在左连接子句中做什么

AJAX 调用后 Javascript 不加载

php - Web 应用程序与服务器程序双向交互?

php - 如何为 paypal 支付 yii 设置定期计费?