温馨提示×

mysql如何查询用户及权限

小亿
160
2024-09-29 02:39:47
栏目: 云计算
亿速云mysql数据库,读写分离,安全稳定,弹性扩容,低至0.3元/天!! 点击查看>>

在MySQL中,要查询用户及权限,你可以使用以下命令:

  1. 查看当前MySQL服务器上的所有用户:
SHOW PROCESSLIST;

这将显示当前连接到服务器的所有进程。你可以在输出中找到用户列(User)以查看正在运行的每个进程的用户名。

  1. 查看用户账户信息:
SELECT User, Host FROM mysql.user;

这将返回一个包含MySQL服务器上所有用户及其主机名的列表。

  1. 查看用户的权限:
SHOW GRANTS FOR 'username'@'host';

usernamehost替换为实际的用户名和主机名。这将显示该用户的所有权限。

例如,要查看用户johnlocalhost上的权限,你可以运行:

SHOW GRANTS FOR 'john'@'localhost';
  1. 如果你想查看数据库特定的权限,可以使用以下命令:
SELECT user, host, db FROM mysql.db WHERE user='username';

username替换为实际的用户名。这将显示该用户在哪个数据库中有权限。

  1. 若要给用户授予权限,可以使用以下命令:
GRANT privileges ON database_name.* TO 'username'@'host';

privileges替换为要授予的权限列表(例如:SELECT, INSERT, UPDATE等),将database_name替换为实际的数据库名,将usernamehost替换为实际的用户名和主机名。

例如,要给用户johnmydb数据库上授予SELECT和INSERT权限,你可以运行:

GRANT SELECT, INSERT ON mydb.* TO 'john'@'localhost';
  1. 若要撤销用户的权限,可以使用以下命令:
REVOKE privileges ON database_name.* FROM 'username'@'host';

privileges替换为要撤销的权限列表,将database_name替换为实际的数据库名,将usernamehost替换为实际的用户名和主机名。

例如,要撤销用户johnmydb数据库上的SELECT和INSERT权限,你可以运行:

REVOKE SELECT, INSERT ON mydb.* FROM 'john'@'localhost';

亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>

推荐阅读:mysql怎么查询用户权限

0