11_MySQL数据库_用户管理

此专栏所有章节快速导航

01_MySQL数据库_CentOS7安装MySQL
02_MySQL数据库_数据库基础知识
03_MySQL数据库_库的操作
04_MySQL数据库_表的操作
05_MySQL数据库_数据类型
06_MySQL数据库_表的约束
07_MySQL数据库_增删查改
08_MySQL数据库_复合查询
09_MySQL数据库_索引
10_MySQL数据库_事务管理
11_MySQL数据库_用户管理
12_MySQL数据库_CentOS7下C-C++链接MySQL

一. 什么是用户管理

MySQL一开始只有一个用户就是root这个超级用户,一般使用数据库很少直接用root用户的,因为root权限太大了,误操作会发生严重的后果。我们可以给使用数据库的程序员创建用户,然后授予这个用户某个数据库,或者表的操作权限,这些就是用户管理。用户的管理包括,创建用户,授予权限,回收权限,删除用户等操作。

二. 用户信息表

如下图所示,我们的数据库默认会有一张叫mysql的数据库,进去里面有一张user表,这张表就是保存所有用户的信息的。

在这里插入图片描述

# 下面是这个user表的部分常用的字段属性
# 具体的有什么字段大家可以自己查一下,命令为select * from user\G
                  Host: localhost  # 表示这个用户可以从哪个主机登录,localhost表示只能从本机登录,%表示所有主机都行
                  User: root  # 用户名
           Select_priv: Y  # select权限,Y表示有这个权限,N表示没有
 authentication_string: *D9ACA1F141E7AC9D4A72AB51C9977912E8567BAA  # 加密后的密码

user也是一张表,可以像操作其他表一样操作它,前提是用户得有对应的权限

在这里插入图片描述

三. 用户管理的操作

3.1 创建用户

# 语法:create user '用户名'@'登陆主机/ip' identified by '密码';
create user 'lihua'@'%' identified by 'Ji3#.10086';  # 这里的%表示所有主机都可以登录,前提是遵循计算机网络知识

在这里插入图片描述

3.2 授予权限

刚创建的用户没有任何权限。需要给用户授权,修改完权限后可能需要执行flush privileges;命令刷新数据,如果还不行就退出用户重新登录。

# 语法:grant 权限列表 on 库.表名 to '用户名'@'登陆位置';
grant select, insert on db1.student to 'lihua'@'%';  # 授予lihua对db1数据库中student表的查询、插入权限
grant select, insert on db1.% to 'lihua'@'%';  # 授予lihua对db1数据库中student表的查询、插入权限、
grant all on *.* to 'lihua'@'%';  # 授予lihua当前系统下所有数据库和表的所有权限(这里仅仅是演示,实际操作中慎用)

3.3 回收权限

# 语法:revoke 权限列表 on 库.对象名 from '用户名'@'登陆位置';
# 其实用法跟grant差不多,就是把grant换成revoke,to换成from
revoke insert on db1.student from 'lihua'@'%';  # 回收lihua对db1数据库student表的插入功能

3.4 修改用户密码

3.4.1 修改自己的

# 语法:set password=password('新的密码');
set password=password('Ji3#.100866');  # password()是一个内置函数,可以将我们的密码加密成一长串固定长度的字符串

3.4.2 root修改别人的

# 方法一
# 语法:set password for '用户名'@'主机名'=password('新的密码');
set password for 'lihua'@'%'=password('Ji3#.1008666');

# 方法二:直接修改表中的信息
update user set authentication_string=password('Ji3#.1008777') where User='lihua';

3.4.3 删除用户

# 语法:drop user '用户名'@'主机名
drop user 'lihua'@'%';

3.4.3 删除用户

# 语法:drop user '用户名'@'主机名
drop user 'lihua'@'%';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

柿子__

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

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

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

打赏作者

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

抵扣说明:

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

余额充值