【问题标题】:How to access information from a SQL database to another server?如何从 SQL 数据库访问信息到另一台服务器?
【发布时间】:2015-03-07 20:34:42
【问题描述】:

我有两台服务器,为了我的问题,让我们命名第一台服务器A,第二台服务器B。服务器A是一个magento服务器,有很多用户数据,服务器B是一个基本的网页.

我想在服务器 B 中创建一个分析仪表板,它使用服务器 A 的 SQL 数据库。

现在的问题是从服务器 B 到服务器 A 的远程连接。 我尝试使用服务器 B 中的代码连接到服务器 A:

$servername = "104.2*****"; // Server A

$username = "root";

$password = "******";
$dbname = "magento";

// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

我收到此错误: 连接失败:无法连接到“104.2******”上的 MySQL 服务器

谁能告诉我我做错了什么?

【问题讨论】:

  • 这不是 PHP 问题,这一切都归结为 MySQL 的配置。您需要在您的服务器上配置 MySQL 以允许从您的服务器 B 的 IP 地址进行远程连接
  • 你知道任何教程吗?
  • 我现在收到一个新错误:Unknown MySQL server host '104.236.****'

标签: php mysql connection database-connection


【解决方案1】:

如果数据库服务器上的设置现在允许不安全的连接,您可能需要创建一个 ssh 隧道来连接到远程服务器托管的数据库,这可能是您收到该错误的原因。

http://kb.mediatemple.net/questions/133/Tunnel+local+MySQL+server+through+SSH#gs

【讨论】:

  • 我现在收到这个错误:Unknown MySQL server host '104.236.****'
  • 您可能需要调整 shell 脚本以将您的脚本服务器本地隧道传输到远程 IP。在其运行时,它将允许连接到远程 IP。
【解决方案2】:

您要连接的服务器可能存在防火墙限制。 MySQL 端口连接可能受到限制。 尝试从您运行此脚本的服务器(或另一台服务器)连接到您要连接的服务器的 IP/端口。 如果您可以访问 linux/windows 控制台,请尝试运行:

telnet 104.2***** 3306

3306 是 MySQL 的默认端口,telnet 应该可以工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 2014-12-26
    • 2020-04-20
    • 2011-08-25
    相关资源
    最近更新 更多