【问题标题】:Why is MySQL sometimes failing to connect to AWS RDS Aurora为什么 MySQL 有时无法连接到 AWS RDS Aurora
【发布时间】:2022-02-04 19:36:17
【问题描述】:

我在连接到 AWS RDS 集群的 EC2 实例上遇到了我无法解释的奇怪行为。使用完全相同的连接字符串,它的工作时间约为 20%。起初我认为这与 Drupal 安装问题有关,但我退后一步尝试直接从命令行连接,我得到了同样的结果。以下是一些结果示例:

[root@xxx]# mysql -u admin -h cluster-name-removed.us-east-1.rds.amazonaws.com -p
Enter password:
ERROR 1045 (28000): Access denied for user 'admin'@'10.1.18.15'
[root@xxx]# mysql -u admin -h cluster-name-removed.us-east-1.rds.amazonaws.com -p
Enter password:
ERROR 1045 (28000): Access denied for user 'admin'@'10.1.19.253'
[root@xxx]# mysql -u admin -h cluster-name-removed.us-east-1.rds.amazonaws.com -p
Enter password:
ERROR 1045 (28000): Access denied for user 'admin'@'10.1.18.15'
[root@xxx]# mysql -u admin -h cluster-name-removed.us-east-1.rds.amazonaws.com -p
Enter password:
ERROR 1045 (28000): Access denied for user 'admin'@'10.1.18.15' 
[root@xxx]# ^C
[root@xxx]# mysql -u admin -h cluster-name-removed.us-east-1.rds.amazonaws.com -p
Enter password:
SUCCESS.

这也与我在 Drupal 中看到的相似:大约四分之一的页面加载时间。

那些 IP 地址是 - 我认为我在我们的网络中从未见过的私有 IP 地址,所以我不知道它们来自哪里。

有什么建议吗?

【问题讨论】:

  • 你是说IP地址不是EC2实例的私有IP地址吗?这是一个 RDS Aurora 集群吗?
  • 对,这既不是 EC2 实例的私有 IP 地址,也不是数据库的私有 IP 地址。是的,它是一个集群
  • 更多信息:数据库集群或实例与数据库集群之间的网络似乎存在问题。连接到其他集群时我没有看到问题,但是从其他实例连接到集群时确实看到了问题。
  • 难道不是所有集群实例都配置了那个 MySQL 用户?
  • 我不确定如何实际检查集群内的每个实例。那可能吗?我可能从这个故障排除指南中找到了答案:mariadb.com/kb/en/troubleshooting-connection-issues - 在 localhost 和 % 部分下。我不确定这是否有意义,但我只回到了一个主要的数据库用户,到目前为止我还没有再次看到这个问题。谢谢你的建议!

标签: mysql amazon-web-services amazon-rds


【解决方案1】:

这并不完全是一个答案,但我发现了两件事。一个可能是红鲱鱼。

  1. 如果我使用包含密码的连接字符串 - 即 -pThePasswordHere - 它会抱怨密码中的特殊字符,特别是右括号。当我正常连接时,它会告诉我访问被拒绝,但不会抱怨括号。将密码更改为不包含特殊字符即可。

  2. 创建一个新用户也让它工作。

我没有测试用带右括号的旧​​密码创建新用户,但不能说 100% 是答案。

【讨论】:

    猜你喜欢
    • 2022-11-27
    • 2021-01-18
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 2018-05-13
    • 2017-09-13
    相关资源
    最近更新 更多