我们还可以从 INFORMATION_SCHEMA.PROCESSLIST 表或者 mysqladmin processlist 命令获取线程信息。
如果我们没有 PROCESS 权限,则只能查看我们自己的线程。
也就是说,我们只能查看与我们正在使用的 MySQL 帐户关联的线程。
如果不使用 FULL 关键字,则信息字段中仅显示每条语句的前 100 个字符。
我在一个测试 MySQL 数据库上,目前没有进程在它上面运行。
在繁忙的数据库中,我们会看到比下图更长的列表。
SHOW PROCESSLIST 产生以下列:
- Id : 连接标识符
- User : 发表声明的 MySQL 用户
- Host : 发出语句的客户端的主机名
- db : 选择默认数据库;否则为 NULL
- Command:线程正在执行的命令类型
- Time :线程处于当前状态的时间(以秒为单位)
- State:指示线程正在做什么的动作、事件或者状态
- Info : 线程正在执行的语句;否则为 NULL
PROCESS 权限允许我们查看所有线程。
如果我们收到“连接过多 too many connections ”错误消息并想确定正在执行哪些语句,则使用 SHOW FULL PROCESSLIST 语句非常有用。
MySQL 保留一个另外的连接供具有 SUPER 权限的帐户使用。
这确保即使已达到连接限制,管理员也可以始终连接并检查系统,假设应用程序用户没有 SUPER 权限。
使用 KILL 语句终止进程。
如果进程在我们可以访问的终端中运行,我们可以使用“CTRL + C”键盘组合来终止它,尽管这不如使用 KILL 干净。
日期:2020-09-17 00:11:14 来源:oir作者:oir