TIDB 初级课程体验 7 (用户管理与权限,跳过密码)

本文详细介绍了TIDB的认证机制,包括用户登录设置,以及如何通过MYSQL8创建和管理用户、角色及其权限。重点讲解了角色的概念、赋权操作和与MYSQL的连接区别。还涵盖了密码管理、角色锁定以及与MySQL用户表的关系。
摘要由CSDN通过智能技术生成

TIDB 的认证与权限的赋予, TIDB 的认证如同对数据库的登录的设置,如果没有通过认证,则用户是不能登录到数据库中的,授权的主要作用是对用户访问数据库的对象进行控制的操作。

主要TIDB 服务器主机的对于MYSQL的客户端的连接,通过连接层来进行接入,在通过connection layer 来对TIDB的服务器的process进行访问。

远程访问连接与MYSQL 一样,也是需要PORT , IP 地址等进行访问,可以说TIDB 在访问与MYSQL 没有任何区别。

建立账号与MYSQL也没有区别,使用了MYSQL 8 的方式 ,创建用户使用CREATE 命令,另外也有少许的不同

例如  create  user 'test' 的意思是创建一个用户名 test的用户,可以通过远程来访问,类似于 create user 'test'@'%' 并且没有密码。

与mysql一样,可以在mysql.user中查询当前数据库的账号信息,

TIDB 同时也提供的角色的概念, 相关的信息也是存储在 mysql.users表中,角色和用户是一样的,用户和角色之间的定义不同在于,角色和赋予权限给用户。另外角色在创建后,也是不能进行数据库连接的,也就是被lock住。用户名大小写也是敏感的,如果通过角色来进行用户的权限的赋予是要使用 set role all 命令来启动赋予的角色的权限。其他的命令与MYSQL没有不同

1 授予用户权限

2 赋予所有用户权限和授权

3 收回用户权限

4  查看用户权限

5  删除用户

下面通过建立角色,使用角色对用户进行权限的赋值

1  我们建立一个叫 dba_admin的角色,并且将所有的权限都赋予这个角色.

建立的ROLE 在ACCOUNT_LOCK 是Y ,这点是用户和角色的区别

在使用角色给test用户赋值后, 通过test用户登陆到系统后需要使用 set role all 来激活角色, 否则用户不具有相关角色赋予的权限.

这里有一点有点意思,在赋予权限的账号中,删除角色是可以实现的,在删除角色后,马上test 就没有相关的权限.

改变用户的密码也和MYSQL是一致的,如果要改变密码就需要具有MYSQL.USER 和 MYSQL 数据库的写入的权限。

也继承了MYSQL 5.X 中关于忘记密码后的操作方式,skip-grant-table = true的方式。

我们对ROOT 设置密码, 然后通过 skip-grant-table =true 的方式来接触root账号的密码

这里我们需要更改tidb的配置信息, 具体按照你安装tidb 的具体位置,这里假设配置文件的位置为/tidb-deploy/tidb-4000/conf/tidb.toml 

添加如上信息

[security]

  skip-grant-table = true

保存后,重启TIDB 数据库

再次尝试不通过密码使用root账号来登陆数据库,实验通过.

上面的实验虽然在课上提到过,但如果之前在听配置的时候没有认真,并且不自己查找修改配置的方法,则上面的实验初学者做起来比较困难.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值