首页 > 编程笔记 > MySQL笔记 阅读:1

MySQL SHOW GRANTS语句:查看角色权限(附带实例)

MySQL 中,授予角色权限后,可以使用 SHOW GRANTS 语句查看角色拥有的权限。

例如,我们授予了角色 student 对图书表、试卷表和班级表的只读权限,使用 SHOW GRANTS 语句查看角色 student 拥有的权限,如下所示:
mysql> SHOW GRANTS FOR 'student';
+--------------------------------------------------------------------------------------+
| Grants for student@%                                                                 |
+--------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'student'@'%'                                                  |
| GRANT SELECT ON `demo`.`book` TO `student`@'%'                                    |
| GRANT SELECT ON `demo`.`test_paper` TO `student`@'%'                              |
| GRANT SELECT ON `demo`.`class` TO `student`@'%'                                   |
+--------------------------------------------------------------------------------------+
可以看到,角色 student 除了拥有对表的只读权限,还拥有 USAGE 权限。

MySQL 规定,只要创建了一个角色,系统就会自动授予该角色 USAGE 权限,意思是连接登录数据库的权限。上述代码的最后 3 行代表我们授予角色 student 的权限,也就是对图书表、试卷表和班级表的只读权限。

使用 SHOW GRANTS 语句查看角色 teacher 拥有的权限,如下所示:
mysql> SHOW GRANTS FOR 'teacher';
+--------------------------------------------------------------------------------------+
| Grants for teacher @%                                                                |
+--------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `teacher`@`%`                                                  |
| GRANT SELECT ON `demo`.`book` TO `teacher`@`%`                                    |
| GRANT SELECT, INSERT, UPDATE, DELETE ON `demo`.`test_paper` TO `teacher`@`%`      |
+--------------------------------------------------------------------------------------+
可以看到,角色 teacher 拥有对图书表的只读权限和对试卷表的增、删、改、查权限。

相关文章