mysql创建角色并授权给用户 |
您所在的位置:网站首页 › ff14角色设置数据 › mysql创建角色并授权给用户 |
mysql创建角色并授权给用户
CREATE DATABASE testdb;
创建角色
-- 创建角色
CREATE ROLE 'admin';
-- 语法
CREATE ROLE [IF NOT EXISTS] role [, role ] ...
角色授权
-- 角色授权
GRANT ALL ON testdb.* TO 'admin' WITH GRANT OPTION;
CREATE ROLE 'test';
GRANT SELECT,INSERT,DELETE,UPDATE ON testdb.* TO 'test';
-- 语法
GRANT role [, role] ... TO user_or_role [, user_or_role] ...[WITH ADMIN OPTION]
角色授权给用户
创建用户 CREATE USER 'admin'@'%' IDENTIFIED BY '1qaz@wsx'; 角色授权给用户 设置用户默认角色的语法 -- 设置默认角色 SET DEFAULT ROLE 'admin' TO 'admin'@'%'; -- 语法 SET DEFAULT ROLE {NONE | ALL | role [, role ] ...} TO user [, user ] ...服务器应视为必需的角色。实际上,这些 角色会自动授予每个用户,尽管 设置mandatory_roles 实际上不会更改任何用户帐户和授予的角色 在系统表中不可见。 mysql8开启角色自动激活 #设置开启 set global activate_all_roles_on_login=ON; -- 查看是否开启 show variables like 'activate_all_roles_on_login';当这个配置开启,服务器将在账号登录时,自动激活账号被授予所有角色。并且,优先于SET DEFAULT ROLE设置的默认值。 如果禁用activate_all_roles_on_login,服务器只会激活默认角色 。 更换会话的角色 SET ROLE DEFAULT; --激活默认角色 SET ROLE 'role1', 'role2'; SET ROLE ALL; -- 激活所有角色 SET ROLE ALL EXCEPT 'role1', 'role2'; -- 语法 SET ROLE { DEFAULT | NONE| ALL | ALL EXCEPT role [, role ] ...| role [, role ] ...} 设置服务器默认角色(不重要) SET PERSIST mandatory_roles = '`role1`@`%`,`role2`,role3,role4@localhost';服务器视为必需的角色。这些 角色会自动授予每个用户,设置mandatory_roles 实际上不会更改任何用户帐户和授予的角色,在系统表中也不可见。 撤销授权 REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost'; REVOKE 'role1', 'role2' FROM 'user1'@'localhost', 'user2'@'localhost'; REVOKE SELECT ON world.* FROM 'role3'; -- 语法 REVOKE [IF EXISTS] PROXY ON user_or_role FROM user_or_role [, user_or_role] ... [IGNORE UNKNOWN USER] 其他相关内容刷新授权 flush hosts; -- 当修改授权后,使用这个命令来刷新授权。 FLUSH PRIVILEGES ;查看当前角色 SELECT CURRENT_ROLE();查看授权 SHOW GRANTS; SHOW GRANTS FOR CURRENT_USER; SHOW GRANTS FOR CURRENT_USER(); SHOW GRANTS FOR 'username'@'%' ; --查看某个用户授权 role的值有:ALL PRIVILEGES: 所有权限 CREATE: 创建数据库和表的权限。 DROP: 删除数据库和表的权限。 ALTER: 修改表结构的权限。 INSERT: 向表中插入数据的权限。 SELECT: 查询表中数据的权限。 UPDATE: 修改表中数据的权限。 DELETE: 删除表中数据的权限。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |