Mysql 连接挂在登录状态

Mar*_*ose 6 mysql

今天突然,我在通过 IP 地址(例如 mysql -h 10.1.248.20)连接时遇到了与 mysql 的连接挂起的问题,但无论用户如何,我仍然可以使用 localhost 进行连接。

mysql> show processlist;
+----+----------------------+------------------+------+---------+------+-----------------------------------------------------------------------+------------------+
| Id | User                 | Host             | db   | Command | Time | State                                                                 | Info             |
+----+----------------------+------------------+------+---------+------+-----------------------------------------------------------------------+------------------+
|  1 | system user          |                  | NULL | Connect |   10 | Connecting to master                                                  | NULL             |
|  2 | system user          |                  | NULL | Connect |   10 | Has read all relay log; waiting for the slave I/O thread to update it | NULL             |
| 37 | unauthenticated user | 10.1.248.3:36694 | NULL | Connect | NULL | login                                                                 | NULL             |
| 38 | unauthenticated user | 10.1.248.3:36695 | NULL | Connect | NULL | login                                                                 | NULL             |
| 39 | unauthenticated user | 10.1.248.3:36696 | NULL | Connect | NULL | login                                                                 | NULL             |
| 40 | root                 | localhost        | NULL | Query   |    0 | NULL                                                                  | show processlist |
+----+----------------------+------------------+------+---------+------+-----------------------------------------------------------------------+------------------+
6 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

是的,我意识到复制在上面的输出中被破坏了;那是在我尝试重新启动 MySQL 之后(这是紧急情况)。

突然之间事情停止了,他们又开始工作了。

当时 DNS 运行良好。复制仍然有效。MySQL 响应迅速。

有谁知道什么会导致来自远程 IP 的 MySQL 登录突然挂起?

Ale*_*lex 7

尝试添加skip-name-resolve到这样的[mysqld]部分/etc/my.cnf

[mysqld]
skip-name-resolve
Run Code Online (Sandbox Code Playgroud)

似乎是名称解析问题。