ssh鲜花礼品网站建设,如何推广自己网站,江西住建云网站,遵义网站开发公司电话有时候#xff0c;您需要查看某个用户被授予的权限以便复核。
MySQL 允许您使用 SHOW GRANTS 语句来显示分配给用户帐户或角色的权限。
MySQL SHOW GRANTS 语句介绍
以下是 SHOW GRANTS 语句的基本语法#xff1a; SHOW GRANTS
[FOR {user | role}
[USING role [, role] .…有时候您需要查看某个用户被授予的权限以便复核。
MySQL 允许您使用 SHOW GRANTS 语句来显示分配给用户帐户或角色的权限。
MySQL SHOW GRANTS 语句介绍
以下是 SHOW GRANTS 语句的基本语法 SHOW GRANTS
[FOR {user | role}
[USING role [, role] ...]]在这个语法中
首先在 FOR 关键字后指定要显示先前授予用户帐户或角色的权限的用户帐户或角色的名称。如果跳过 FOR 子句则 SHOW GRANTS 返回当前用户的权限。其次使用 USING 子句检查与用户角色相关的权限。您在 USING 子句中指定的角色必须事先授予用户。
除了可以显示当前用户的权限和角色要执行 SHOW GRANTS 的语句你需要有 mysql 系统数据库的 SELECT 权限。
MySQL SHOW GRANTS 实例
让我们举一些使用 MySQL SHOW GRANTS 语句的例子。
显示授予当前用户的权限
以下语句使用 SHOW GRANTS 语句显示授予当前用户的权限 SHOW GRANTS;它等效于以下语句 SHOW GRANTS FOR CURRENT_USER;和 SHOW GRANTS FOR CURRENT_USER();CURRENT_USER 和 CURRENT_USER() 都返回当前用户。
显示授予用户的权限
这个实例演示了创建用户、授予权限、查看权限的完整步骤。 创建一个名为 sqlizdb 的新数据库 CREATE DATABASE sqlizdb;选择数据库 sqlizdb USE sqlizdb;在数据库 sqlizdb 中新建一个表 test_table CREATE TABLE test_table(id int AUTO_INCREMENT PRIMARY KEY,txt varchar(100) NOT NULL
);创建一个新用户名为 sqliz% CREATE user sqliz% IDENTIFIED by SqLiZ9879123!;显示授予用户 sqliz% 的默认权限 SHOW GRANTS FOR sqliz%;-----------------------------------
| Grants for sqliz% |
-----------------------------------
| GRANT USAGE ON *.* TO sqliz% |
----------------------------------- GRANT USAGE 是没有权限的代名词。默认情况下当新用户创建时它没有权限。 将 sqlizdb 数据库的所有权限授予用户 sqliz% GRANT ALL PRIVILEGES ON sqlizdb.* TO sqliz%;最后显示授予用户的权限 sqliz% SHOW GRANTS FOR sqliz%;----------------------------------------------------
| Grants for sqliz% |
----------------------------------------------------
| GRANT USAGE ON *.* TO sqliz% |
| GRANT ALL PRIVILEGES ON sqlizdb.* TO sqliz% |
----------------------------------------------------
显示授予角色的权限
本实例演示了创建角色、授予角色权限、查看角色权限的完整步骤。 创建一个新角色名为 write_role% CREATE ROLE write_role%;显示授予角色的权限 write_role% SHOW GRANTS FOR write_role%;----------------------------------------
| Grants for write_role% |
----------------------------------------
| GRANT USAGE ON *.* TO write_role% |
---------------------------------------- 授予 write_role% 在 sqlizdb 数据库上的 SELECT INSERT UPDATE和 DELETE 权限 GRANT SELECT, INSERT, UPDATE, DELETE ON sqlizdb.* TO write_role%;显示授予角色的权限 write_role% SHOW GRANTS FOR write_role%;-------------------------------------------------------------------------
| Grants for write_role% |
-------------------------------------------------------------------------
| GRANT USAGE ON *.* TO write_role% |
| GRANT SELECT, INSERT, UPDATE, DELETE ON sqlizdb.* TO write_role% |
-------------------------------------------------------------------------
D) 显示用户与角色关联的权限
本实例演示了创建用户、分配角色、显示权限的详细步骤。 创建一个名为 sqliz2%的新用户帐户 CREATE user sqliz2% IDENTIFIED by SqLiZ9879123!;授予 EXECUTE 权限给用户 sqliz2% GRANT EXECUTE ON sqlizdb.* TO sqliz2%;将角色 write_role% 授予用户 sqliz2% GRANT write_role% TO sqliz2%;显示授予用户的权限 sqliz2% SHOW GRANTS FOR sqliz2%;----------------------------------------------
| Grants for sqliz2% |
----------------------------------------------
| GRANT USAGE ON *.* TO sqliz2% |
| GRANT EXECUTE ON sqlizdb.* TO sqliz2% |
| GRANT write_role% TO sqliz2% |
---------------------------------------------- 最后使用 SHOW GRANTS 语句中的 USING 子句来显示与 write_role% 角色关联的权限 SHOW GRANTS FOR sqliz2% USING write_role%;------------------------------------------------------------------------------
| Grants for sqliz2% |
------------------------------------------------------------------------------
| GRANT USAGE ON *.* TO sqliz2% |
| GRANT SELECT, INSERT, UPDATE, DELETE, EXECUTE ON sqlizdb.* TO sqliz2% |
| GRANT write_role% TO sqliz2% |
------------------------------------------------------------------------------
结论
在 MySQL 中您可以使用 SHOW GRANTS 语句显示授予用户或角色的权限。