应用服务器需要很长时间才能连接到 MySQL 服务器

应用服务器需要很长时间才能连接到 MySQL 服务器

我遇到了一个奇怪的问题,无法弄清楚,希望得到一些专家的建议来解决这个问题。

  1. 我的数据库在单独的机器上运行
  2. 我的应用服务器尝试连接登录,并一直在等待响应
  3. MySQL 创建了新的连接线程
  4. 我的应用服务器一直在等待登录,但没有得到任何响应
  5. 连接不断堆积,MySQL 在几分钟内就达到了最大连接数(当前设置为 100)。

问题似乎出在登录上,但奇​​怪的是,当应用程序与 MySQL 在同一台服务器上运行时,我没有遇到任何问题。尝试从应用程序中使用 mysql 命令,也遇到了同样的问题。有什么线索吗?

下面是我捕获的一些过程。

+-----+----------------------+---------------------+------+---------+---------+-------+------------------+
| ID | 用户 | 主机 | 数据库 | 命令 | 时间 | 状态 | 信息 |
+-----+----------------------+---------------------+------+---------+---------+-------+------------------+
| 6 | root | localhost | NULL | 查询 | 0 | NULL | 显示进程列表 |
| 114 | 未经身份验证的用户 | 192.168.10.30:47534 | NULL | 连接 | | 登录 | NULL |
| 115 | 未经身份验证的用户 | 192.168.10.30:47535 | NULL | 连接 | | 登录 | NULL |
| 116 | 未经身份验证的用户 | 192.168.10.30:47536 | NULL | 连接 | | 登录 | NULL |
| 117 | 未经身份验证的用户 | 192.168.10.30:47537 | NULL | 连接 | | 登录 | NULL |
| 118 | 未经身份验证的用户 | 192.168.10.30:47539 | NULL | 连接 | | 登录 | NULL |
| 119 | 未经身份验证的用户 | 192.168.10.30:47540 | NULL | 连接 | | 登录 | NULL |
| 120 | 未经身份验证的用户 | 192.168.10.30:47541 | NULL | 连接 | | 登录 | NULL |
| 121 | 未经身份验证的用户 | 192.168.10.30:47542 | NULL | 连接 | | 登录 | NULL |
| 122 | 未经身份验证的用户 | 192.168.10.30:47543 | NULL | 连接 | | 登录 | NULL |
| 123 | 未经身份验证的用户 | 192.168.10.30:47544 | NULL | 连接 | | 登录 | NULL |
| 124 | 未经身份验证的用户 | 192.168.10.30:47546 | NULL | 连接 | | 登录 | NULL |
| 125 | 未经身份验证的用户 | 192.168.10.30:47547 | NULL | 连接 | | 登录 | NULL |
| 126 | 未经身份验证的用户 | 192.168.10.30:47548 | NULL | 连接 | | 登录 | NULL |
| 127 | 未经身份验证的用户 | 192.168.10.30:47549 | NULL | 连接 | | 登录 | NULL |
| 128 | 未经身份验证的用户 | 192.168.10.30:47550 | NULL | 连接 | | 登录 | NULL |
| 129 | 未经身份验证的用户 | 192.168.10.30:47552 | NULL | 连接 | | 登录 | NULL |
| 130 | 未经身份验证的用户 | 192.168.10.30:47553 | NULL | 连接 | | 登录 | NULL |
| 131 | 未经身份验证的用户 | 192.168.10.30:47086 | NULL | 连接 | | 登录 | NULL |
| 132 | 未经身份验证的用户 | 192.168.10.30:47087 | NULL | 连接 | | 登录 | NULL |
| 133 | 未经身份验证的用户 | 192.168.10.30:47089 | NULL | 连接 | | 登录 | NULL |
| 134 | 未经身份验证的用户 | 192.168.10.30:47090 | NULL | 连接 | | 登录 | NULL |
| 151 | 未经身份验证的用户 | 192.168.10.30:47111 | NULL | 连接 | | 登录 | NULL |
| 152 | 未经身份验证的用户 | 192.168.10.30:47112 | NULL | 连接 | | 登录 | NULL |
| 153 | 未经身份验证的用户 | 192.168.10.30:47113 | NULL | 连接 | | 登录 | NULL |
| 154 | 未经身份验证的用户 | 192.168.10.30:35053 | NULL | 连接 | | 登录 | NULL |
| 155 | 未经身份验证的用户 | 192.168.10.30:35054 | NULL | 连接 | | 登录 | NULL |
| 156 | 未经身份验证的用户 | 192.168.10.30:35055 | NULL | 连接 | | 登录 | NULL |
+-----+----------------------+---------------------+------+---------+---------+-------+------------------+

答案1

您是否能无延迟地从数据库服务器登录?如果可以,则可能是网络问题。

  • 这些设备之间有哪些网络硬件?
  • 是否已在其他子网 / 连接上试用并测试过 NIC?

如果您无法快速登录,请检查数据库服务器日志(磁盘空间不足、/tmp 目录已满、超时等)。

也可能是 DNS 问题,尽管 20 分钟对于 DNS 查找来说似乎太长了。您可以尝试添加

跳过名称解析

到你的 my.cnf 看看是否有帮助。

答案2

您的 DNS 设置正确吗?看起来您至少没有 192.168.10.30 的反向 DNS。

或者,如果您不想/无法设置 rdns,您是否授予“用户名”@“192.168.10.30”访问权限?

相关内容