一文看尽MySQL用户权限管理,真香!

本文详细介绍了MySQL的用户权限管理,包括如何授予管理员权限、数据库和表权限、列权限,以及如何回收权限和删除用户。内容涵盖用户登录权限、操作执行权限的检查顺序,以及GRANT和REVOKE命令的使用示例。
摘要由CSDN通过智能技术生成

一、创建用户格式

二、授权格式及示例:

1. 授予管理员权限

2. 授予数据库、表权限

3. 授予列权限

三、修改用户配置:

1. 回收 mysql 权限

2. 删除 mysql 用户

3. 修改 mysql 用户密码

4. 忘记密码

5. 设置MySQL用户密码过期策略

6. mysql 用户 lock

7. 用户重命名


权限管理概念

======

MySQL用户权限管理主要有以下作用:

  1. 可以限制用户访问哪些库、哪些表
  1. 可以限制用户对哪些表执行SELECT、CREATE、DELETE、DELETE、ALTER等操作
  1. 可以限制用户登录的IP或域名
  1. 可以限制用户自己的权限是否可以授权给别的用户

用户操作MySQL数据库的权限管理,主要分为两个阶段:

  • 有没有权限连接上来

  • 有没有权限执行本操作

1. MySQL连接权限


服务器如何判断用户有没有权连接上来?

依据:

  • 你从哪里来?host

  • 你是谁?user

  • 你的密码是多少?password

用户的这三个信息,存储在mysql库中的user表中。

2. 操作执行权限


mysql数据库(系统数据库)下的表:user、db、tables_priv、columns_priv、proce_priv、proxies_priv共同构成授权表;

  • 1)user表

user表列出可以连接服务器的用户及其口令,并且它指定他们有哪种全局(超级用户)权限。在user表启用的任何权限均是全局权限,并适用于所有数据库。例如,如果你启用了DELETE权限,在这里列出的用户可以从任何表中删除记录,所以在你这样做之前要认真考虑。

  • 2)db表

db表列出数据库,而用户有权限访问它们。在这里指定的权限适用于一个数据库中的所有表。

  • 3)tables_priv表

tables_priv表指定表级权限,在这里指定的一个权限适用于一个表的所有列。

  • 4)columns_priv表

columns_priv表指定列级权限。这里指定的权限适用于一个表的特定列。

  • 5)proce_priv

columns_priv表指定存储过程权限。这里代表允许使用某个存储过程的权限。

  • 6)proxies_priv

利用 MySQL proxies_priv(模拟角色)实现类似用户组管理。角色(Role)可以用来批量管理用户,同一个角色下的用户,拥有相同的权限。

注:MySQL5.7.X以后可以模拟角色(Role)的功能,通过mysql.proxies_priv模拟实现

3. MySQL执行权限检查顺序


  • 16
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值