TIDB - TIDB用户角色权限管理

本文介绍了如何在TiDB中进行用户管理,包括创建、查看、修改和删除用户,以及权限管理,如赋予和回收用户对数据库的读写权限。此外,还详细阐述了角色的创建、权限分配、角色与用户的关系操作。整个过程与MySQL的权限管理兼容,适合熟悉MySQL的开发者参考。
摘要由CSDN通过智能技术生成

一、TIDB 中的权限

我们都知道TIDB是兼容MySql的,对于TiDB 的权限管理和MySql中的权限管理也是兼容的,所以说我们完全可以将MySQL中的那一套拿来到TIDB中,是完全适用的。

另外TiDB 将用户账户及角色存储在 mysql.user 系统表里面。每个账户由用户名和 host 作为标识。每个账户可以设置一个密码。

在这里插入图片描述

下面我们针对TIDB数据库来演示下用户角色权限的配置。注意以下所有操作均在TIDB数据库中进行。

二、用户管理

1. 创建新用户,并指定用户的登录密码

create user 'bxc' identified by 'bxc123';

在这里插入图片描述

这种方式创建的用户不限制主机,默认为 ‘bxc’@‘%‘ 所有的主机都可以使用此账户进行连接,如果要限制主机可以在用户名后@跟主机ip即可:

create user 'bxc'@'172.160.158.3' identified by 'bxc123';

2. 查看 mysql.user 表,查看我们创建的用户

select user, host, authentication_string from mysql.user;

在这里插入图片描述

可见已经创建成功了。

3. 修改用户密码

alter user 'bxc' identified by 'tidb123';

在这里插入图片描述
4. 删除用户

drop user 'bxc';

在这里插入图片描述
如果是指定了主机的用户,删除时也要携带主机ip,如:

drop user 'bxc'@'172.160.158.3';

从上面对用户的操作已经可以感觉出来,就是和我们在MYSQL中的操作相同,下面继续来感受下权限角色的设置。

三、用户权限管理

1. 赋予用户权限,比如赋予testdb库下所有表的读权限赋予bxc用户

grant select on testdb.* to 'bxc';

在这里插入图片描述
下面我们用bxc用户,进行查询和写入测试:
在这里插入图片描述
可以看到只有读的权限,没有写的权限,下面将写的权限赋予bxc用户:

grant insert on testdb.* to 'bxc';

在这里插入图片描述
下面再次进行读和写操作就已经有权限了:
在这里插入图片描述
2. 查看用户下的权限

show grants  for 'bxc';

在这里插入图片描述

3. 收回用户的权限

 revoke insert on testdb.* from bxc;

在这里插入图片描述
使用bxc再次进行写操作:
在这里插入图片描述
在这里插入图片描述

四、角色权限管理

1. 创建角色

create role manager, common;

在这里插入图片描述
角色信息也是存储在了mysql.user表中了,我们可以查询看下

select user, host, authentication_string,Account_locked from mysql.user;

在这里插入图片描述
从上面就可以看出角色和用户是用区别的,角色的 Account_locked是处于锁定状态,这也可以理解,毕竟角色我们是用来管理权限的不是用来登录的,同样角色也没有密码。

2. 赋予角色权限,比如赋予common角色testdb库下所有表的读权限

grant select on testdb.* to common;

在这里插入图片描述
3. 赋予manager角色testdb库下所有表的写权限

grant insert, update, delete on testdb.* to manager;

在这里插入图片描述
4. 将角色赋予用户

grant 'common' to 'bxc';

在这里插入图片描述
在这里插入图片描述
使用bxc 去查询发现还是查询不了,此时角色是空的,还需要进行角色的生效:
在这里插入图片描述

set role all;

然后查看当前的角色:

select current_role();

在这里插入图片描述
并且也有了查询的权限。

5. 解除角色与用户的关系

revoke 'common' from 'bxc';

在这里插入图片描述
在这里插入图片描述

6. 赋予manager角色全部的权限

grant all on testdb.* to manager;

在这里插入图片描述

7. 删除角色

 drop role common;

在这里插入图片描述

在这里插入图片描述
喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小毕超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值