【MySQL】用户管理

查询用户信息

MySQL中的用户,都存储在系统数据库mysqluser表中。我们可以查看user表来获取用户信息:

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

其中:

  • host :表示这个用户可以从那一台主机登录,localhost表示从本机登录(本地),%表示可以从任意主机登录
  • user:用户名
  • authentication_string: 用户密码通过password函数加密后的
  • *_priv(以_priv结尾): 用户拥有的权限

关于用户的操作

创建用户

可以使用以下sql创建用户:

create user '用户名'@'登陆主机/ip' identified by '密码';

本质上就是在user表中添加了一行记录

删除用户

可以使用以下sql删除用户

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

修改用户密码

  • 修改自己密码
set password=password('新的密码');
  • root用户修改指定用户密码

mysql5.7或者更早的版本可以使用以下sql修改密码

set password for '用户名'@'主机名'=password('新的密码')

mysql8.0以后可以用以下sql修改密码

alter user 'user1'@'localhost' indentified by 'new_password123';

数据库的权限

下面给出数据库权限的列表
在这里插入图片描述
简单来说,数据库的权限约束了用户能对哪些数据库的哪些表做哪些操作

给用户添加权限

刚创建的用户是没有任何权限的,我们可以使用以下sql基于某个用户指定权限

grant 权限列表 on.对象名 to '用户名'@'登陆位置' [identified by '密码']

其中:

  • 权限列表中多个权限用逗号隔开
  • *.* :代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
  • 库.* : 表示某个数据库中的所有数据对象(表,视图,存储过程等)
  • identified by可选。 如果用户存在,赋予权限的同时修改密码,如果该用户不存在,就是创建用户

例如:
在这里插入图片描述
这样就给了tsx用户所有数据库的所有表的所有操作权限

查看特定用户权限

可以使用以下sql查看某个用户具有的权限

 show grants for '用户'@'登录主机';

在这里插入图片描述

刷新权限

修改权限有时会不能马上生效,可以使用flush privileges;刷新

回收权限

可以使用以下sql来回收某个用户的某些权限

revoke 权限列表 on.对象名 from '用户名'@'登陆位置'
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值