溫馨提示×

mysql如何查詢用戶及權(quán)限

小億
94
2024-09-29 02:39:47
欄目: 云計算

在MySQL中,要查詢用戶及權(quán)限,你可以使用以下命令:

  1. 查看當前MySQL服務(wù)器上的所有用戶:
SHOW PROCESSLIST;

這將顯示當前連接到服務(wù)器的所有進程。你可以在輸出中找到用戶列(User)以查看正在運行的每個進程的用戶名。

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

這將返回一個包含MySQL服務(wù)器上所有用戶及其主機名的列表。

  1. 查看用戶的權(quán)限:
SHOW GRANTS FOR 'username'@'host';

usernamehost替換為實際的用戶名和主機名。這將顯示該用戶的所有權(quán)限。

例如,要查看用戶johnlocalhost上的權(quán)限,你可以運行:

SHOW GRANTS FOR 'john'@'localhost';
  1. 如果你想查看數(shù)據(jù)庫特定的權(quán)限,可以使用以下命令:
SELECT user, host, db FROM mysql.db WHERE user='username';

username替換為實際的用戶名。這將顯示該用戶在哪個數(shù)據(jù)庫中有權(quán)限。

  1. 若要給用戶授予權(quán)限,可以使用以下命令:
GRANT privileges ON database_name.* TO 'username'@'host';

privileges替換為要授予的權(quán)限列表(例如:SELECT, INSERT, UPDATE等),將database_name替換為實際的數(shù)據(jù)庫名,將usernamehost替換為實際的用戶名和主機名。

例如,要給用戶johnmydb數(shù)據(jù)庫上授予SELECT和INSERT權(quán)限,你可以運行:

GRANT SELECT, INSERT ON mydb.* TO 'john'@'localhost';
  1. 若要撤銷用戶的權(quán)限,可以使用以下命令:
REVOKE privileges ON database_name.* FROM 'username'@'host';

privileges替換為要撤銷的權(quán)限列表,將database_name替換為實際的數(shù)據(jù)庫名,將usernamehost替換為實際的用戶名和主機名。

例如,要撤銷用戶johnmydb數(shù)據(jù)庫上的SELECT和INSERT權(quán)限,你可以運行:

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

0