【TiDB 4.0 PCTA 学习笔记】-3.3 TiDB Database Administration(TiDB 数据库管理操作)@2班+邱育珍

课程名称:3.3 TiDB Database Administration(TiDB 数据库管理操作)

学习时长:15min

课程收获:

TiDB 集群中用户账户相关的管理和权限控制

课程内容:

image

1.用户账户管理


TiDB 将用户账户存储在 mysql.user 系统表里面。每个账户由用户名和 host 作为标识。每个账户可以设置一个密码。
通过 MySQL 客户端连接到 TiDB 服务器,通过指定的账户和密码登录:

mysql --port 4000 --user xxx --password
  • 用户账号
    默认root空密码,连接方式与mysql一致,管理方式与mysql 也一致

  • 创建普通用户
    添加用户有两种方式:

    • 通过标准的用户管理的 SQL 语句创建用户以及授予权限,比如 CREATE USERGRANT
    • 直接通过 INSERTUPDATEDELETE 操作授权表。
      推荐使用第一种方式。第二种方式修改容易导致一些不完整的修改,因此不推荐。
  • 设置用户密码
    create user 直接设置,set 和 alter 修改密码

  • 删除用户
    drop user

  • 重置root密码

  • 不支持对单个用户进行资源管理限制

2.访问权限管理

3.基于角色的访问控制

TiDB 的基于角色的访问控制 (RBAC) 系统的实现类似于 MySQL 8.0 的 RBAC 系统。TiDB 兼容大部分 MySQL RBAC 系统的语法。
image

  • role是一系列的权限集合
    创建role ,对role进行授权,再把role授权给某个用户,
    该用户就拥有role所有权限,全兼容mysql 8.0

  • role管理
    命令 与用户的管理类似
    create role role1@%
    drop role role1@%
    grant select on . to role1@%
    revoke select from . from role1@%

  • 将role向用户授权/回收
    grant role1 to user1@%
    revoke role1,role2 from user1@%,user2@%

  • 查看用户授权
    show grants for user1@%
    show grants for user@% using role1,role2

  • 修改用户默认role
    用户默认有一个role,由系统自动生成。set role to user


学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料

同学你好,感谢参与 TiDB 4.0 课程的学习!

本篇笔记逻辑清晰、内容丰富,被评选为优质笔记,将额外获得 20 积分,并在 「TiDB 培训」分类下获得“置顶”权益,积分兑换规则将于近期开放,敬请关注!

期待您继续产出优质内容!

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。