MySQL用户管理

本文介绍了MySQL中的用户管理,包括查看和创建用户、删除用户以及修改用户密码。同时,详细讲解了数据库权限的设置,如给用户授权和回收权限,强调了权限生效需用户重新登录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果我们只能使用 root 用户,那么会存在安全隐患。这时,就需要使用 MySQL 的用户管理。

一、用户

1.用户信息

MySQL 中的用户信息,都存储在系统数据库 mysql 的 user 表中。

在这里插入图片描述

在这里插入图片描述
说明:
 ① user:用户名。
 ② host:表示这个用户可以从哪个主机登录(如果是 localhost,表示只能从本机登录)。
 ③ authentication_string:用户密码通过 password 函数加密后的。
 ④ *_priv:用户拥有的权限。

2.创建用户

create user '用户名'@'登录主机' identified by '密码';

创建一个名为 skc,且可以从任意主机登录的用户。
在这里插入图片描述

若用户的登录主机是 %,则该用户也可以在其它主机远程登录。
在这里插入图片描述

3.删除用户

drop user '用户名'@'登录主机';

删除一个名为 skc,且可以从任意主机登录的用户。在这里插入图片描述

4.修改用户密码

# root用户修改指定用户的密码
set password for '用户名'@'登录主机'=password('新的密码');update user set 密码设置的地方=password('密码') where User='用户名' and Host='登录主机';

# 用户自己改自己的密码
set password=password('新的密码');

注:按照版本的不同,密码设置的地方可能是 password,也有可能是 authentication_string 。

root 用户修改 ‘skc’@‘%’ 的密码。
法一:
在这里插入图片描述
法二:在这里插入图片描述

‘skc’@‘%’ 自己改自己的密码。
在这里插入图片描述

二、数据库的权限

1. MySQL 中的权限

在这里插入图片描述

2.给用户授权

新创建的用户几乎没有权限,因此在创建用户后需要给用户授权。

grant 权限列表 on 库名.对象名 to '用户名'@'登录主机' [identified by '密码'];

说明:
 ① ‘用户名’@‘登录主机’:表示要给哪个用户赋予权限。
 ② 库名.对象名:表示要给用户赋予在哪个对象上的权限。
 ③ 权限列表:表示要给用户赋予哪种权限(若有多个权限则用逗号分隔开)。
 ④ identified by ‘密码’:可选项。如果该用户存在,则在赋予权限的同时修改该用户的密码;如果该用户不存在,则创建该用户。

注:grant all [privileges] on ...;:表示赋予该用户在该对象上的所有权限。

可以通过命令show grants for '用户名'@'登录主机';来查看某个用户所拥有的权限。

新创建的用户 ‘skc’@‘%’ 几乎没有权限。在这里插入图片描述

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

root 用户给 ‘skc’@‘%’ 用户赋予在 102_db.* 上的 select 权限。
在这里插入图片描述

‘skc’@‘%’ 用户没有 create 权限。在这里插入图片描述
root 用户给 ‘skc’@‘%’ 用户赋予在 102_db.* 上的 create 权限。
在这里插入图片描述
被赋权的用户需要重新登录,其被赋予的权限才能生效。在这里插入图片描述

‘skc’@‘%’ 用户没有 drop 权限。在这里插入图片描述
root 用户给 ‘skc’@‘%’ 用户赋予在 102_db.* 上的 drop 权限。
在这里插入图片描述
被赋权的用户需要重新登录,其被赋予的权限才能生效。在这里插入图片描述

赋予该用户在该对象上的所有权限。在这里插入图片描述

如果发现赋予权限后,没有生效,则执行命令flush privileges;,但实际上该命令并没有什么效果。

实际上最有用的方法就是,直接退出重新登录,这样必定会生效。

3.回收权限

revoke 权限列表 on 库名.对象名 from '用户名'@'登录主机';

回收 ‘skc’@‘%’ 用户在 102_db.* 上的所有权限。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值