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

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

作者头像
猫老师的叶同学
发布于 2023-03-01 05:48:45
发布于 2023-03-01 05:48:45
4.3K00
代码可运行
举报
文章被收录于专栏:中间件的探究中间件的探究
运行总次数:0
代码可运行

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

前提需求

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

1、查询、创建、修改、删除系统用户
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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
代码运行次数:0
运行
AI代码解释
复制
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 查看登录用户的权限信息

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

2.2、用户添加新权限。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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';
2.3、收回用户权限(root)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 收回删除权限
REVOKE DELETE ON dbtest1.* FROM zhangsan;
3、通过创建角色进行权限分配

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

3.1、角色管理
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 1、创建user角色
CREATE ROLE 'worker'@'localhost';

# 2、删除角色
DROP ROLE 'worker';
3.2、角色权限管理
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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'@'%';
3.3、用户赋予角色

1、用户授予角色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GRANT 'worker' TO 'zhangsan';

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SHOW GRANTS FOR 'zhangsan';

3、撤销用户角色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
REVOKE 'worker' FROM 'zhangsan'@'%';

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

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

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

结果如下

至此完毕,希望文章能对您有所帮助。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
不建议通过 DELETE FROM USER u WHERE USER='li4' 进行删除,系统会有残留信息保
盛透侧视攻城狮
2024/10/22
1700
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
技术分享 | MySQL 授权表运维注意事项
我们在做权限授权时需要给到应用用户增删改查权限,比如下面的授权语句。这样的好处是当实例创建多个业务库时,无需再次给新的业务库授权,该权限默认对所有库有增删改查权限,主打一个方便,但实际这种授权方式会带来较大的权限风险,甚至导致数据库被攻击破坏。
爱可生开源社区
2024/03/25
1510
技术分享 | MySQL 授权表运维注意事项
MySQL 8.0从入门到精通
MySQL角色是指定的权限集合. 像用户帐户一样,角色可以拥有授予和撤消的权限:
JavaEdge
2022/11/30
1.2K0
MySQL 8.0从入门到精通
MySQL用户管理
说明:用户的信息保存在mysql数据库中的user表中,验证用户是否创建成功如下:
星哥玩云
2022/08/18
2K0
MySQL的用户管理
#前言:我们知道,无论是登陆MySQL数据库还是登陆Linux系统,都需要有用户来登陆。默认情况下,root用户是享有最高权限的超级用户,可以使用包括create,drop,insert等操作,但是我们也需要一些普通用户来进行管理,接下来就让我们对号入座,来进行如何创建用户,授权用户,和删除用户等操作
老油条IT记
2020/03/20
2.4K0
第03章 用户与权限管理
🧑个人简介:大家好,我是 shark-Gao,一个想要与大家共同进步的男人😉😉
程序员Leo
2023/08/02
2440
一文看尽MySQL用户权限管理,真香!
mysql数据库(系统数据库)下的表:user、db、tables_priv、columns_priv、proce_priv、proxies_priv共同构成授权表;
陈哈哈
2020/07/06
11.8K1
一文看尽MySQL用户权限管理,真香!
MariaDB/MySQL用户和权限管理详解
MariaDB/MySQL中的user由用户名和主机名构成,如"root@localhost",同用户名但不同主机名对MySQL/MariaDB来讲是不同的,也就是说"root@localhost"和"root@127.0.0.1"是不同的用户,尽管它们都是本机的root。
星哥玩云
2022/08/16
1.7K0
MariaDB/MySQL用户和权限管理详解
MySQL(十六)之MySQL用户管理
一、MySQL用户管理概述   MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类:     超级管理员用户(root),拥有全部权限     普通用户,由root创建,普通用户只拥有root所分配的权限 二、MySQL的权限数据库    权限数据库:在MySQL中的mysql数据库。   与权限相关的数据表:user,db,host,tables_priv,columns_priv,procs_priv等。 2.1、user表   1)user表存储的信息   用户的信息:hots(用户所在的
用户1195962
2018/01/18
1.3K0
MySQL(十六)之MySQL用户管理
mysql体系结构(日常管理管理)
说明mysql8.0已经更换了加密插件为caching_sha2_password
萧晚歌
2021/11/18
7870
MySQL 用户与权限管理
    MySQL权限系统的主要功能是证实连接到一台给定主机的用户,并且赋予该用户在数据库上的相关DML,DQL权限。MySQL存取控制包含2个阶段,一是服务器检查是否允许你连接;二是假定你能连接,服务器检查你发出的每个请求。看你是否有足够的权限实施它。本文主要描述MySQL权限系统相关的用户创建、授权、撤销权限等等。
Leshami
2018/08/13
9K0
MySQL DCL 数据控制
连接到 MySQL 服务器后,管理员或特权用户可以使用 CREATE USER 语句创建新用户。
恋喵大鲤鱼
2023/10/12
2490
mysql操作命令梳理(4)-grant授权和revoke回收权限
在mysql维护工作中,做好权限管理是一个很重要的环节。下面对mysql权限操作进行梳理: mysql的权限命令是grant,权限撤销的命令时revoke; grant授权格式:grant 权限列表 on 库.表 to 用户名@'ip' identified by "密码"; revoke回收权限格式:revoke 权限列表 on 库.表 from 用户名@'ip'; 下面通过一些例子说明: 1.grant授权 1)grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。 mysql>
洗尽了浮华
2018/01/22
2.8K0
第十一章《mysql用户与权限》
mysql关于用户的信息保存在mysql.user表当中,关于用户的权限主要是存储在mysql库中(user、db、host、tables_priv、columns_priv)这5个表中。
Java架构师必看
2021/06/02
8100
第十一章《mysql用户与权限》
MySQL5.7 添加用户、删除用户与授权
MySQL5.7 mysql.user表没有password字段改 authentication_string;
小贝壳
2020/03/05
1.8K0
MySQL操作之用户管理权限管理:(DC)(五)
MySQL中用户分为root用户和普通用户。root用户为超级管理员,具有所有权限(创建用户、删除用户、管理用户)。
ha_lydms
2023/08/09
4220
MySQL操作之用户管理权限管理:(DC)(五)
MySQL8.0 角色管理
官方文档的第一句话,就开门见山的告诉了我们角色是什么东西。A MySQL role is a named collection of privileges. Like user accounts, roles can have privileges granted to and revoked from them.
AsiaYe
2021/11/25
1.6K0
MySQL 用户与权限管理
MySQL5.7官网介绍:https://dev.mysql.com/doc/refman/5.7/en/grant.html
Power
2025/03/01
2550
【MySQL 系列】MySQL 语句篇_DCL 语句
DCL( Data Control Language,数据控制语言)用于对数据访问权限进行控制,定义数据库、表、字段、用户的访问权限和安全级别。主要关键字包括 GRANT、 REVOKE 等。
栗筝i
2024/03/19
5190
mysql---用户和权限管理复习
host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%,主要有以下几种写法
大忽悠爱学习
2021/11/15
1.7K0
相关推荐
2024Mysql And Redis基础与进阶操作系列(3)作者——LJS[含MySQL用户,权限,角色管理;举例说明详解步骤及常见报错问题对应的解决方法]
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验