我遇到了一个奇怪的问题,无法弄清楚,希望得到一些专家的建议来解决这个问题。
- 我的数据库在单独的机器上运行
- 我的应用服务器尝试连接登录,并一直在等待响应
- MySQL 创建了新的连接线程
- 我的应用服务器一直在等待登录,但没有得到任何响应
- 连接不断堆积,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”访问权限?