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