php - 无法在 PHP 中连接到远程 SQL 数据库,但已设置远程访问并确认可以正常工作

标签 php mysql sql-server database remote-access

我正在尝试学习在 PHP 中使用 SQL 内容,但在连接到数据库时遇到了问题。

数据库几乎可以肯定在某种程度上支持远程访问。我暂时禁用了 iptables(我知道,非常非常非常!),因此没有防火墙阻止访问。我正在使用的 MySQL 用户被配置为能够从任何 IP 进行连接。 SQL 服务器正在正确监听所有连接,并在 Linux 专用服务器上运行。

[root@1742CC-XEON ~]# netstat -lpnut | grep mysql
tcp        0      0 0.0.0.0:3315                0.0.0.0:*                   LISTEN      3915/mysqld

我还使用完全相同的凭据成功远程连接到我的 Java 数据库,如下所示:

        Class.forName("com.mysql.jdbc.Driver");
        Connection conn = DriverManager.getConnection("jdbc:mysql://__ip__:_port_/_dbname_", "username", "password");
        System.out.println("Connection established.");

这个功能很好,我可以成功运行查询等。因为我现在禁用了 iptables,所以这个连接在任何有 Java 和 Java SQL 连接器的地方都可以很好地工作。

现在,我尝试在 PHP 中连接到同一个数据库:

        $db = mysqli_connect($sql_host, $sql_user, $sql_pass, $sql_db, $sql_port);

此连接失败并出现以下错误:

警告:mysqli_connect():(HY000/2003):无法连接到“xx.xx.xx.ip”上的 MySQL 服务器 (111)

请注意,$sql_user、$sql_pass、$sql_host 等与 Java 连接中使用的凭据相同,因此用户无法从新的服务器访问服务器不应该有任何问题IP,因为该用户被授予对 % 的访问权限,并且我已确保它确实能够从用户表中未明确允许的多个 IP 访问 SQL 服务器。我还尝试了不同的用户,包括 root,并且都给出了相同的连接错误。

我花了几个小时环顾四周,但老实说我找不到任何似乎是正确答案的东西,非常感谢任何帮助!

这有可能是我的虚拟主机造成的吗?我已经在 HostGator 网络主机以及 whois.com 主机上尝试过这个脚本,但都给出了相同的错误。他们是否可能阻止 PHP 脚本连接到远程数据库?

最佳答案

您是否尝试过从您的虚拟主机远程登录到 3315 上的服务器?

关于php - 无法在 PHP 中连接到远程 SQL 数据库,但已设置远程访问并确认可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26644296/

相关文章:

php - 通过PHP将一张表从MySQL复制到SQLite

php - 我需要清理用户输入的 Laravel 吗?

PHP查询以更新表中的字段

php - 如何在下拉列表中创建无限子类别

php - 添加新的 HTML 行并插入数据库

sql - 如何在 SQL Server 2008 中的存储过程中编写游标

c# - 如何同时获取行数和行数

php - 使用 json_decode 在 PHP 中解析 JSON 对象

mysql - 如何避免使用 AUTO_INCRMENT 重写属性

mysql - 如何按月显示树结果计数?