【问题标题】:Connecting to external MySQL DB from a web server not running MySQL从未运行 MySQL 的 Web 服务器连接到外部 MySQL 数据库
【发布时间】:2010-04-14 05:58:27
【问题描述】:

虽然我多年来一直在使用 MySQL,但这是我第一次遇到这个非常新手的问题。由于客户需求,我必须将他们的网站文件 (PHP) 托管在未运行 MySQL(相反,他们正在运行 MSSQL)的 IIS 服务器上。但是,我使用位于外部主机(Rackspace Cloud)上的 MySQL 数据库开发了该站点。显然,我的 mysql_connect 函数现在正在轰炸,因为 MySQL 没有在 localhost 上运行。

问题:如果 localhost 没有运行 MySQL,是否甚至可以访问外部 MySQL 数据库?

对于新手问题,我们深表歉意,在此先感谢您。

* 澄清一下,我知道如何连接到远程 MySQL 服务器,但事实上我的 IIS Web 服务器没有运行任何形式的 MySQL(既不是服务器也不是客户端)给我带来了麻烦。换句话说, phpinfo() 不返回任何关于 MySQL 的信息。 *

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    是的,您可以使用与 Apache+PHP 不在同一台机器上的 MySQL 数据库。

    基本上,您将通过网络连接从 PHP 连接到 MySQL——我想是基于 TCP 的;这意味着:

    • MySQL 必须配置为侦听和接受网络接口上的连接
      • 这意味着配置 MySQL 来做到这一点
      • 并为您的 MySQL 用户提供所需的权限,以便他可以从远程服务器进行连接
    • 而且 PHP 必须能够连接到托管 MySQL 的服务器。

    但请注意,在很远的服务器上使用 MySQL 可能对性能不利:每个 SQL 查询都必须通过网络,这可能需要一些时间...

    【讨论】:

      【解决方案2】:

      如果 phpinfo 没有返回任何关于 MySQL 的信息,您需要为 PHP 安装 MySQL 插件,最简单的方法可能是将 PHP 升级到最新版本。如果没有,您将需要一个 .DLL 文件。

      http://www.php.net/manual/en/mysql.installation.php

      【讨论】:

        【解决方案3】:

        您将需要安装 mysql 扩展。这个链接应该有帮助:http://php.net/manual/en/install.windows.extensions.php

        【讨论】:

          【解决方案4】:

          MySQL 服务器与 PHP 本身无关。 PHP 中的“mysql 支持”是指它已经编译(或加载了一个模块)实现了 MySQL 客户端接口。对于 Windows,它是“mysql.dll”,而在 Unix-ish 系统上它是“mysql.so”。一旦这些被加载,那么各种 MySQL 接口(mysql_xxx()、mysqli_xxx()、PDO、MDB2 等)将能够在任何地方访问任何 MySQL 服务器,只要你有正确的连接字符串。

          【讨论】:

            猜你喜欢
            • 2012-09-30
            • 2020-06-02
            • 2016-05-30
            • 2011-08-12
            • 2015-05-27
            • 2014-10-29
            • 2013-05-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多