前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL8.0、创建新用户与角色授权

MySQL8.0、创建新用户与角色授权

作者头像
猫老师的叶同学
发布2023-03-01 13:48:45
3.8K0
发布2023-03-01 13:48:45
举报
文章被收录于专栏:中间件的探究

MySQL8.0、创建新用户与角色授权

前提需求

创建一个新的数据库用户,并给用户添加增删改查 的权限。

1、查询、创建、修改、删除系统用户
代码语言:javascript
复制
# 1、查询系统用户
SELECT host, user, select_priv, insert_priv, drop_priv, update_priv, 
authentication_string FROM mysql.user;

# 2、创建用户  -下文均执行方法一语句 
# 方式一: 默认host是 % 
CREATE USER zhang3 IDENTIFIED BY '123456';
# 方式二: 自定义host:localhost
CREATE USER 'zhang3'@'localhost' IDENTIFIED BY '123456';

# 3、修改用户信息
# 3.1 修改名称
UPDATE mysql.user SET USER = 'zhangsan' WHERE USER = 'zhang3';
# 3.2 修改密码
ALTER USER zhang3 IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '123';

# 4、删除用户信息
方式一:默认删除host为%的用户(推荐)  
DROP USER zhangsan;
方式二:
DELETE FROM mysql.user WHERE Host='%' AND User='zhangsan';
FLUSH PRIVILEGES;

扩展设置当前用户密码

代码语言:javascript
复制
ALTER USER USER() IDENTIFIED BY 'new_password';
# root用户也可以使用set修改登录密码
SET PASSWORD='new_password';
# root其他用户密码
SET PASSWORD FOR 'username'@'hostname'='new_password';

提示: Host的区别

% : 表示所有主机都可以登录 localhost: 表示只有本地可以登录

2、用户权限授权和收回
2.1 查看登录用户的权限信息

新用户完毕后,默认只有登录系统的权限。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cGxMtCic-1652070836299)(C:\Users\YST\AppData\Local\Temp\1652066657626.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cGxMtCic-1652070836299)(C:\Users\YST\AppData\Local\Temp\1652066657626.png)]
2.2、用户添加新权限。
代码语言:javascript
复制
# 1、查看当前用户权限
SHOW GRANTS;
# 或
SHOW GRANTS FOR CURRENT_USER;
# 或
SHOW GRANTS FOR CURRENT_USER();

# 2、查看某用户的全局变量
SHOW GRANTS FOR 'user'@'主机地址' ;

# 3、授予权限 -授予zhangsan在dbtest1库下的增删改查权限。*表示所有表。*.*表示所有库及表
GRANT SELECT,INSERT,DELETE,UPDATE ON dbtest1.* TO zhangsan;

# 4、授予zhangsan所有库、表权限,但是不包括GRANT权限
GRANT ALL PRIVILEGES ON *.* TO zhangsan@'%' IDENTIFIED BY '123';
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mX9peT0H-1652070836300)(C:\Users\YST\AppData\Local\Temp\1652067613111.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mX9peT0H-1652070836300)(C:\Users\YST\AppData\Local\Temp\1652067613111.png)]
2.3、收回用户权限(root)
代码语言:javascript
复制
# 收回删除权限
REVOKE DELETE ON dbtest1.* FROM zhangsan;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZI9kByDW-1652070836300)(C:\Users\YST\AppData\Local\Temp\1652067696374.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZI9kByDW-1652070836300)(C:\Users\YST\AppData\Local\Temp\1652067696374.png)]
3、通过创建角色进行权限分配

创建一个操作dbtest1库的角色,授予SELECT、UPDATE、INSERT权限。

3.1、角色管理
代码语言:javascript
复制
# 1、创建user角色
CREATE ROLE 'worker'@'localhost';

# 2、删除角色
DROP ROLE 'worker';
3.2、角色权限管理
代码语言:javascript
复制
# 1、查看角色权限
SHOW GRANTS FOR 'worker';

# 2、user角色授予dbtest1库权限
GRANT SELECT, UPDATE, INSERT ON dbtest1.* TO 'worker';

# 3、回收角色权限
REVOKE UPDATE ON dbtest1.* FROM 'worker';

# 4、激活角色
SET DEFAULT ROLE ALL TO 'zhangsan'@'%';
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V8xikjUj-1652070836300)(C:\Users\YST\AppData\Local\Temp\1652070206393.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V8xikjUj-1652070836300)(C:\Users\YST\AppData\Local\Temp\1652070206393.png)]
3.3、用户赋予角色

1、用户授予角色

代码语言:javascript
复制
GRANT 'worker' TO 'zhangsan';

2、授权后查看角色是否授权成功

代码语言:javascript
复制
SHOW GRANTS FOR 'zhangsan';
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ll5iuZJQ-1652070836301)(C:\Users\YST\AppData\Local\Temp\1652070555862.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ll5iuZJQ-1652070836301)(C:\Users\YST\AppData\Local\Temp\1652070555862.png)]

3、撤销用户角色

代码语言:javascript
复制
REVOKE 'worker' FROM 'zhangsan'@'%';

4、授权后登陆新用户,查看角色信息

代码语言:javascript
复制
# 1、在查看角色之前需要先激活角色
SET DEFAULT ROLE ALL TO 'zhangsan'@'%';

# 2、查看当前角色
SELECT CURRENT_ROLE();

结果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DkweZtd7-1652070836301)(C:\Users\YST\AppData\Local\Temp\1652070780007.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DkweZtd7-1652070836301)(C:\Users\YST\AppData\Local\Temp\1652070780007.png)]
至此完毕,希望文章能对您有所帮助。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL8.0、创建新用户与角色授权
    • 前提需求
      • 1、查询、创建、修改、删除系统用户
        • 2、用户权限授权和收回
          • 2.1 查看登录用户的权限信息
          • 2.2、用户添加新权限。
          • 2.3、收回用户权限(root)
        • 3、通过创建角色进行权限分配
          • 3.1、角色管理
          • 3.2、角色权限管理
          • 3.3、用户赋予角色
        • 至此完毕,希望文章能对您有所帮助。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档