Bootstrap

【MySQL】关于查询和KILL进程的权限

在 MySQL 中,如果你希望某个用户能够查询数据库的当前进程(查询正在运行的查询和线程)以及终止(KILL)特定进程,你需要为该用户授予以下权限:

  1. 查询进程的权限:用户需要 PROCESS 权限,这个权限允许用户查看所有的线程和进程信息,包括其他用户的查询。

    GRANT PROCESS ON *.* TO 'username'@'host';
  2. 终止进程的权限:用户需要 SUPER 权限,或者特定的 KILL 权限来终止其他用户的会话。

  • KILL 权限允许用户终止(KILL)其他用户的连接。
GRANT KILL ON *.* TO 'username'@'host';
  • 需要注意的是,SUPER 权限也包含了 KILL 权限,但通常会授予一些超级用户或管理员,所以如果只需要KILL权限,可以单独授予 KILL 权限而不必授予 SUPER

示例

如果你想授予用户 username 在特定主机上(例如 localhost)执行查询进程和杀死进程的权限,可以使用以下命令:

GRANT PROCESS, KILL ON *.* TO 'username'@'localhost';

权限检查

完成权限授予后,可以使用以下命令检查权限:

SHOW GRANTS FOR 'username'@'localhost';

注意事项

  • 用户如果只有 PROCESS 权限,不能结束其他用户的查询或会话。
  • 终止进程需要更高的权限(KILL 或 SUPER)。

这样就可以让用户支持查询和杀死进程的操作了。

;