MySQL之用户管理入门

一.概述

1.多用户数据库
我们知道MySQL是一个多用户数据库,按用户种类分类的话可以分为:
ROOT用户:超级管理员,拥有所有权限
普通用户:被root用户创建的用户,它的权限被root授予

2.什么是用户管理?
简单来说,就是root用户管理普通用户的访问权限和信息以及管理root自身特性

3.什么是权限表?
说到如何管理用户的权限,我们必须要了解权限表:
MySQL服务器通过权限表来控制用户对它的访问,它存放于MySQL自带的名为mysql的数据库中,权限表有多个,分别有:user , db , host , table_priv , columns , procs_priv

1)user表
它的列可分为四类:
a.用户列:host字段(主机名),user字段(用户名),authentication_string(密码)字段,只有这三个字段都匹配时,才允许连接建立

b.权限列:它的字段决定了用户的权限,普通权限用于操作数据库,高级权限用于数据库管理。

c.安全列:其中有6个字段 两个 SSL相关的用于加密,两个X509相关的用于标识用户,两个授权插件用于验证用户身份

d.资源控制列:4个字段,
max_questions(用户每小时允许执行的查询操作次数),
max_updates(用户每小时允许的执行更新的次数),
max_connections(用户每小时允许的执行的连接操作次数),
max_user_connections(用户允许同时建立的连接次数)

2)db表和host表
db表中存储了用户对某个数据库的操作权限,决定用户能从那个主机存取那个数据库。
host表中存储了某个主机对某个数据库的操作权限,配合db权限表,对给定主机上数据库级操作权限做更细致的控制

注意:user表中的权限是针对所有数据库的,如果希望用户只对某个数据库有操作权限,那么需要将user表中对应的权限设置为N,然后再db表中设置对应权限

3)tables_priv表和columns_priv表
前者对表设置操作权限,后者对列设置操作权限

4)procs_priv表
对存储过程和存储函数设置操作权限

二.操作命令

1.创建普通用户

CREATE USER ben IDENTIFIED BY '1234';

在这里插入图片描述
2.重命名一个用户账号

RENAME USER ben TO yanjiadou;

在这里插入图片描述
3.删除用户账号

DROP USER yanjiadou;

在这里插入图片描述
4.查看用户的访问权限

SHOW GRANTS FOR ben;

在这里插入图片描述
输出结果显示用户ben有一个权限 USAGE ON . ,这个表示没有任何权限。

5.给用户设置相应的权限

GRANT SELECT|UPDATE|INSERT|DELETE ON database.* TO ben;

在这里插入图片描述
这表示ben用户可以在数据库study中进行查询操作

6.撤销权限

REVOKE SELECT|UPDATE|INSERT|DELETE ON database.* FROM ben;

在这里插入图片描述
7.更改口令

第一步
update user set authentication_string=’’ where user=‘ben’;

第二步
ALTER USER ‘ben’@’%’ IDENTIFIED WITH mysql_native_password BY ‘newpassword’;

第三步
flush privileges;
在这里插入图片描述
更详细的信息请查询相关文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

程序员小牧之

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

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

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

打赏作者

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

抵扣说明:

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

余额充值