【问题标题】:issues connecting to AWS production database连接到 AWS 生产数据库的问题
【发布时间】:2019-12-25 01:57:39
【问题描述】:

我一直在本地和暂存数据库(托管在 AWS 上)中为我正在开发的这个应用程序工作,在两种环境中查看和播种数据都没有问题。但是,当我尝试连接到生产环境以查看或播种数据时,我收到以下错误:

mysqli_real_connect(): (HY000/2002): 连接尝试失败,因为连接方一段时间后没有正确响应,或者连接的主机没有响应,建立连接失败。

我已经仔细检查了我使用的凭据是否与生产环境的凭据匹配,并且我还重新输入了凭据以确保不会意外复制空白字符。

我想也许我的管理工具有问题,所以我从 phpMyAdmin 切换到 DBeaver,这似乎也不起作用。

禁用我的防火墙也无济于事。

在网上进行一些研究后,我按照this guide 授权将 RDP 流量传输到我计算机的公共 IPv4 地址,但按照这些步骤操作后,我仍然收到上述错误。

我的 phpMyAdmin 配置文件如下所示

/*
 * Production Server
 */
$i++;

$cfg['Servers'][$i]['host'] = 'host';
$cfg['Servers'][$i]['user'] = 'user';
$cfg['Servers'][$i]['password'] = 'password';

/*
 * End of servers configuration
 */

?>

使用 XAMPP v3.2.3 和服务器版本 MySQL 5.7.26-log 并且在 AWS 上运行的平台是在 64 位 Amazon Linux/2.8.12 上运行的 PHP 7.2

我使用的是 Windows 10 机器,我想指出我的同事使用的是 Mac,并且在我连接到远程位置的 AWS 实例时没有问题。两位同事都没有将他们的 IPv4 添加到安全组中。

谁能指出问题可能发生的正确方向?我被这个难住了...

【问题讨论】:

  • 您使用的是 AWS 的托管数据库 (RDS) 还是独立的 MySQL 实例?
  • @ChrisFNZ 基本上我正在尝试将 RDS 链接到我的本地 MySQL 实例,但有问题

标签: mysql amazon-web-services phpmyadmin windows-10


【解决方案1】:

RDP 和 RDS 完全不同。 RDP 是远程桌面协议,因此是一种登录 Windows 机器的方法。 RDS 是 AWS 托管的数据库服务,它允许您连接到数据库风格(在这种情况下,我希望您选择了 MySQL)。

如果您想从本地 PC 连接到 RDS,请确保您已通过 RDS 使用的安全组中的 tcp/3306 启用来自公共 IP 的流量。

如果你想从 RDS 连接到你自己的本地 MySQL 实例,那么你可能需要在你的本地路由器上设置一个 NAT,它从它的公共 ip 和 tcp/3306 映射到适当的私有 ip 和 tcp/3306但如果您这样做,确保您仅限制来自适当源 IP 的传入流量非常重要。

顺便问一下,Mac 上的人是否有可能通过 SSH 会话通过隧道访问数据库?

【讨论】:

  • 啊,我明白了,我的错误来自于不了解 RDP 和 RDS 之间的区别。我想我需要允许我的私有 IP,但我做错了。感谢您的澄清!我刚刚成功连接到RDS实例
猜你喜欢
  • 2018-01-03
  • 2020-04-23
  • 1970-01-01
  • 1970-01-01
  • 2018-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多