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

我有一个奇怪的问题,我想不出来,并希望得到一些专家的意见来处理这件事情。

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

这些问题似乎是login,但奇怪的是,当应用程序运行在与MySQL相同的服务器上时,我没有任何问题。 试图从应用程序使用mysql命令,它也有同样的问题。 任何线索?

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

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

你可以立即从数据库服务器login吗? 如果是这样,这可能是一个networking问题。

  • 哪些networking硬件位于这些设备之间?
  • 是否已经在其他子网/连接上尝试并testing了NIC?

如果无法快速login,请检查数据库服务器日志(超出磁盘空间,完整/ tmp目录,超时等)。

这也可能是一个DNS问题,虽然20分钟似乎离谱的DNS查询。 你可以尝试添加

跳过名称parsing

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

你的DNS设置是否正确? 看起来你至less没有192.168.10.30的反向DNS。

或者,如果你不想/不能设置rdns,你有权访问'username'@192.168.10.30'吗?