我正在停用旧的 mysql 服务器。当然,还有一些东西定期与它相连,人们已经忘记了。我打开了一般查询日志记录以更好地了解那里仍在进行的事情以追踪罪魁祸首并注意到一些奇怪的事情。
有一个条目如下:
870 Connect <user>@<server> on
它继续进行并以 a 结尾
870 Quit
下一行是
1143 Connect <user>@<server>
为什么线程 ID 会跳跃?只需 grep 出所有“连接”行,就会出现递增线程 ID +1 的爆发,然后是下一个连接 ID 的不同大小间隙。
这是预期的行为吗?
失败的连接尝试仍会增加下一个要分配的进程 ID
这是一个例子:
我将在我的 PC (MySQL 5.5.12) 上重新启动 mysql 并进行第一次连接
然后我用一个故意的错误密码连接到 mysql
然后我使用正确的密码连接到 mysql
并且 BINGO MySQL 连接 ID 为 3 而不是 2
在全局状态变量中有它的记录
您显然仍然有来自无法再进行身份验证的地方的连接。也许你可以尝试使用 netstat 并观察端口 3306。如果你已经从 mysql.user 中删除了某些 user@host 值,那么就建立和使用的进程 ID 而言就不需要真正关心了。
您可能希望时不时地运行此查询...
这将告诉您每个 IP 地址或 DNS 名称有多少连接进入