当前位置: 首页 > news >正文

MySQL——用户权限和管理

目录

一:本节⽬标

二:应⽤场景

三:⽤⼾

3.1 查看⽤⼾

3.2 创建⽤⼾

3.2.1 语法

3.2.2 注意事项

3.2.3 ⽰例

3.4 修改密码

3.4.1 语法

3.5 删除⽤⼾

3.5.1 语法

3.5.2 ⽰例

四:权限与授权

4.1.1 语法

4.1.2 ⽰例

4.2 回收权限

4.2.1 语法

4.2.2:实例


一:本节⽬标

了解数据库的⽤⼾与常⽤操作
了解数据库权限与授权

二:应⽤场景

数据库服务安装成功后默认有⼀个root⽤⼾,可以新建和操纵数据库服务中管理的所有数据库。在真实的使⽤过程中,通常每个应⽤对应着⼀个数据库,我们只希望某个⽤⼾只能操纵和管理当前应⽤对应的那个数据库,⽽不能操纵和管理其他应⽤的数据库,这时就可以添加⼀个⽤⼾并指定⽤⼾的权限

如上图所⽰:
root 可以访问和操纵所有的数据库:DB1, DB2, DB3, DB4

赋予某个数据库的所有权限包括增删改查
普通⽤⼾1 只能访问和操纵数据库DB1
普通⽤⼾2 只能访问和操纵数据库DB3

只能查询被赋予查询权限的库和表
只读⽤⼾1 只能访问数据库DB3
只读⽤⼾2 只能访问数据库DB4

root就是老大,可以对所有的库和表进行操作
在mysql中如果对数据进行某些操作,必须添加一个用户,并对用户赋予相应的权限。

三:⽤⼾

3.1 查看⽤⼾

MySQL的⽤⼾信息保存在mysql系统数据库的user表中,可以通过Select语句查看,如下所⽰选择数据库:

查看表

查看user表结构:

查看use中的记录:当前可以登录的主机v

navitact查看表结构

host: 允许登录的主机,相当于⽩名单,如果是localhost,表⽰只能从本机登陆
user: ⽤⼾名
_ priv: ⽤⼾拥有的权限
authentication_string: 加密后的⽤⼾密码

3.2 创建⽤⼾

3.2.1 语法

CREATE USER [IF NOT EXISTS] 'user_name'@'host_name' IDENTIFIED BY'auth_string';

user 部分也就是用来登录MySQL的用户名
host_name 可以用来登录主机名或ip 可以起到一个白名单的作用,只有在指定的机器上才可以访问当前的MySQL,可以指定一个具体的机器或一个ip的范围

'user'@'HOST'才是一个的用户的编码方式

3.2.2 注意事项

如果不指定host_name相当于'user_name'@'%', %表⽰所有主机都可以连接到数据库,强烈建议不要这样设置,因为会导致严重的安全问题

user_name和host_name分别⽤单引号包裹,如果写成'user_name@host_name',相当
于'user_name@host_name'@'%'

host_name可以通过⼦⽹掩码设置主机范围

198.0.0.0/255.0.0.0 : A段⽹络中的任意⼀台主机

198.51.0.0/255.255.0.0: 198.51 B段⽹络中的任意⼀台主机

198.51.100.0/255.255.255.0: 198.51.100 C段⽹络中的任意⼀台主机

198.51.100.1 :只包含特定IP地址的主机

从MySQL 8.0.23开始,指定为IPv4地址的主机值可以使⽤CIDR表⽰法写⼊,例如198.51.100.44/24

允许在IP地址中使⽤%通配符,⽐如,主机值'%'匹配任何主机名, 198.51.100.% 匹配
198.51.100 C段⽹络中的任何主机。MySQL 8.0.35中已弃⽤,以后可能会删除

3.2.3 ⽰例

我们先查询当前登录的用户是谁
然后添加用户并且设置密码

然后我们重新查询一下我们的用户:
我们的1和2就是我们新创建的用户

思考一下 我们创建用户可以使用数据库吗?
不可以的哦 使用数据库需要有权限的。

3.4 修改密码

3.4.1 语法

为指定⽤⼾设置密码 【推荐】
ALTER USER 'user_name'@'host_name' IDENTIFIED BY 'auth_string';为指定⽤⼾设置密码
SET PASSWORD FOR 'user_name'@'host_name' = 'auth_string';为当前登录⽤⼾设置密码
SET PASSWORD = 'auth_string';


3.5 删除⽤⼾

3.5.1 语法

DROP USER [IF EXISTS] 'user_name'@'host_name'[, ...];
可以一次删除多个数据但是需要权限

3.5.2 ⽰例

 删除⽤⼾'bit1'@'192.168.1.1/24'
mysql> drop user 'bit1'@'192.168.1.1/24';

四:权限与授权

4.1.1 语法

grant priv_type[, priv_type ...] on priv_levelto 'user_name'@'host_name' [WITH GRANT OPTION]
priv_type:根据类型,参考根据列表4.1中的Privilege列
priv_level: * | *.* | db_name.* | db_name.tbl_name | tbl_name,⽐如*.*表⽰所有数据库下的所
有表
'user_name'@'host_name':指定⽤⼾
[WITH GRANT OPTION]:可选,允许⽤⼾将⾃⼰的权限授权给其它⽤⼾

4.1.2 ⽰例

为bit@localhost⽤⼾授权于 java01 数据库的 select 权限

4.2 回收权限

4.2.1 语法

REVOKE [IF EXISTS] priv_type[, priv_type] ... ON priv_levelFROM 'user_name'@'host_name' [, 'user_name'@'host_name']

4.2.2:实例

http://www.dtcms.com/a/500758.html

相关文章:

  • python 微信网站开发深圳外贸网站建设企业
  • 找个免费的网站外贸平台有哪些用户量大的
  • 数据结构之线性表——双链表的操作
  • 【边打字.边学经典故事】_1_太甲明德
  • 深圳自助建站图书馆网站建设的规章制度
  • 在哪下载.net网站作品深圳网站制作的公司深圳app开发
  • 公司网站经典案例好多公司为啥只做网站 不考虑推广
  • 数据结构 06 线性结构
  • 百事可乐网站建设优缺点东莞哪家纯设计公司做得好
  • 手机移动网站建设方案溧阳做网站价格
  • 扬州市江都区城乡建设局网站大连唐朝网站优化公司
  • ChatDoctor
  • 微信做的地方门户网站郑州 网站建设 东区
  • 协程:深入协程机制与实现(进阶篇)
  • Linux使用Docker部署项目后期更新
  • 网站建设优化兼职在家网站编程设计方向
  • SSM养生知识平台99ofs(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 前端网站做多语言优秀网站页面设计图片
  • phpcms学校网站模板安徽城乡住房建设厅网站
  • 做网站宁波大点的网络公司快速搭建网站 优帮云
  • 织梦网站模板套用扮家家室内设计
  • 网站建设覀金手指科杰全国公共建筑信息平台
  • 【Linux知识】Linux Service 重启策略 Restart 详解
  • Linux学习日记3:Write函数与Read函数
  • 哪些技术指标可以辅助判断布林带收窄后的变盘信号
  • 网站建设需要什么专业网站建设预计资金投入
  • 建站公司人员配置html网站制作答辩ppt
  • 盲盒抽卡机小程序开发实战:概率算法与风控体系深度解析
  • 结合其他技术指标(如MACD、RSI)来验证布林带的趋势信号
  • 广东建设协会网站个人网站效果图