大家好,又见面了,我是你们的朋友全栈君。
在 MySQL 中,可以通过查看 mysql.user 表中的数据记录来查看相应的用户权限,也可以使用 SHOW GRANTS 语句查询用户的权限。
mysql 数据库下的 user 表中存储着用户的基本权限,可以使用 SELECT 语句来查看。SELECT 语句的代码如下:
SELECT * FROM mysql.user;
要执行该语句,必须拥有对 user 表的查询权限。
注意:新创建的用户只有登录 MySQL 服务器的权限,没有任何其它权限,不能查询 user 表。
除了使用 SELECT 语句之外,还可以使用 SHOW GRANTS FOR 语句查看权限。其语法格式如下:
SHOW GRANTS FOR ‘username’@’hostname’;
其中,username 表示用户名,hostname 表示主机名或主机 IP。
例 1
下面创建 testuser1 用户并查询权限,SQL 语句和执行过程如下:
mysql> CREATE USER ‘testuser1’@’localhost’;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GRANTS FOR ‘testuser1’@’localhost’;
+———————————————–+
| Grants for testuser1@localhost |
+———————————————–+
| GRANT USAGE ON *.* TO ‘testuser1’@’localhost’ |
+———————————————–+
1 row in set (0.00 sec)
其中,USAGE ON *.*表示该用户对任何数据库和任何表都没有权限。
例 2
下面查询 root 用户的权限,代码如下:
mysql> SHOW GRANTS FOR ‘root’@’localhost’;
+———————————————————————+
| Grants for root@localhost |
+———————————————————————+
| GRANT ALL PRIVILEGES ON *.* TO ‘root’@’localhost’ WITH GRANT OPTION |
| GRANT PROXY ON ”@” TO ‘root’@’localhost’ WITH GRANT OPTION |
+———————————————————————+
2 rows in set (0.00 sec)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150254.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...