AWS MySQL连接频繁超时

Sex*_*ast 4 mysql amazon-web-services amazon-rds

我在AWS(RDS)中有一个MySQL数据库,并且通过以下命令从命令行连接到它:

mysql -u _usernme_ -p_mypassword_ -h  _aws_mysql_host_ _dbname_
Run Code Online (Sandbox Code Playgroud)

它连接正常,问题是,如果它闲置1-2分钟,连接就会中断,随后的命令就会挂起。我必须终止该过程并开始一个新的过程。

我需要做什么配置更改,以及在哪里进行更改,以使其永久存在(就像一样)localhost,直到明确终止连接为止?

Leo*_*o C 6

您可以找到相关的超时值,如下所示:

SHOW VARIABLES LIKE '%_timeout';
Run Code Online (Sandbox Code Playgroud)

您可能需要检查以确保适当设置了wait_timeoutinteractive_timeout。两者默认为28800(即8小时):

SET GLOBAL wait_timeout = 28800;
SET GLOBAL interactive_timeout = 28800;
Run Code Online (Sandbox Code Playgroud)


Adi*_*iii 5

当尝试从本地计算机连接到 RDS 并且安全组只允许从 VPC 内部连接时会发生此错误。

要解决此问题,请转到您的 RDS 安全组并允许特定 IP 或任何人都可以在您的安全规则中使用密码和用户名进行连接。

下面可以连接任何人

虽然这不是一个好习惯,只是尝试与 RDS 连接并跟踪问题

转到 RDS 实例

选择RDS实例并查看安全组的描述

在此处输入图片说明

选择安全组

选择入站规则

编辑安全规则

允许您的 IP 访问它或使其可公开访问

在此处输入图片说明

或者,如果您认为此错误发生在 RDS 中,您可以简单地查看 RDS 的日志

在此处输入图片说明

在此处输入图片说明

如果上述设置看起来不错,那么 AWS 会说

从 Amazon EC2 外部连接 — 防火墙超时问题

示例问题:

运行长查询(例如 COPY 命令)时,您与数据库的客户端连接似乎挂起或超时。在这种情况下,您可能会观察到 Amazon Redshift 控制台显示查询已完成,但客户端工具本身似乎仍在运行查询。查询结果可能会丢失或不完整,具体取决于连接何时停止。

当您从 Amazon EC2 实例以外的计算机连接到 Amazon Redshift 并且空闲连接在一段时间不活动后被中间网络组件(例如防火墙)终止时,就会发生这种情况。当您从虚拟专用网络 (VPN) 或本地网络登录时,这种行为很典型。

为避免这些超时,我们建议进行以下更改:

  • 增加处理 TCP/IP 超时的客户端系统值。您应该在用于连接到集群的计算机上进行这些更改。超时期限应根据您的客户端和网络进行调整。请参阅更改 TCP/IP 超时设置。
  • 或者,在 DSN 级别设置保持活动行为。请参阅更改 DSN 超时设置。

要进行这些更改,请检查链接

AWS:connecting-firewall-guide.html