阅读量:0
在MySQL中,要查询用户及权限,你可以使用以下命令:
- 查看当前MySQL服务器上的所有用户:
SHOW PROCESSLIST;
这将显示当前连接到服务器的所有进程。你可以在输出中找到用户列(User)以查看正在运行的每个进程的用户名。
- 查看用户账户信息:
SELECT User, Host FROM mysql.user;
这将返回一个包含MySQL服务器上所有用户及其主机名的列表。
- 查看用户的权限:
SHOW GRANTS FOR 'username'@'host';
将username
和host
替换为实际的用户名和主机名。这将显示该用户的所有权限。
例如,要查看用户john
在localhost
上的权限,你可以运行:
SHOW GRANTS FOR 'john'@'localhost';
- 如果你想查看数据库特定的权限,可以使用以下命令:
SELECT user, host, db FROM mysql.db WHERE user='username';
将username
替换为实际的用户名。这将显示该用户在哪个数据库中有权限。
- 若要给用户授予权限,可以使用以下命令:
GRANT privileges ON database_name.* TO 'username'@'host';
将privileges
替换为要授予的权限列表(例如:SELECT, INSERT, UPDATE等),将database_name
替换为实际的数据库名,将username
和host
替换为实际的用户名和主机名。
例如,要给用户john
在mydb
数据库上授予SELECT和INSERT权限,你可以运行:
GRANT SELECT, INSERT ON mydb.* TO 'john'@'localhost';
- 若要撤销用户的权限,可以使用以下命令:
REVOKE privileges ON database_name.* FROM 'username'@'host';
将privileges
替换为要撤销的权限列表,将database_name
替换为实际的数据库名,将username
和host
替换为实际的用户名和主机名。
例如,要撤销用户john
在mydb
数据库上的SELECT和INSERT权限,你可以运行:
REVOKE SELECT, INSERT ON mydb.* FROM 'john'@'localhost';