温馨提示×

mysql如何查询用户及权限

小亿
82
2024-09-29 02:39:47
栏目: 云计算

在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';

0