Mysql的用户与权限管理

本文详细介绍了MySQL的用户管理,包括创建用户、查看用户信息、设置和修改密码、权限的授予与回收,以及如何查看用户权限。重点讨论了不同类型的连接方式、用户权限字段的含义,并提供了丰富的示例来演示操作过程。

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

mysql的用户管理

创建用户

create user zhang3 identified by '123123';
  • 表示创建名称为zhang3的用户,密码设为123123;

了解user表

查看用户
 select host,user,password,select_priv,insert_priv,drop_priv from mysql.user;

在这里插入图片描述

host:表示连接类型
  • % 表示所有远程通过 TCP方式的连接
  • IP 地址 如 (192.168.1.2,127.0.0.1) 通过制定ip地址进行的TCP方式的连接
  • 机器名 通过制定i网络中的机器名进行的TCP方式的连接
  • ::1 IPv6的本地ip地址 等同于IPv4的 127.0.0.1
  • localhost 本地方式通过命令行方式的连接 ,比如mysql -u xxx -p 123xxx 方式的连接。
User:表示用户名
  • 同一用户通过不同方式链接的权限是不一样的。
password : 密码
  • 所有密码串通过 password(明文字符串) 生成的密文字符串。加密算法为MYSQLSHA1 ,不可逆 。
  • mysql 5.7 的密码保存到 authentication_string 字段中不再使用password 字段。
select_priv , insert_priv等
  • 为该用户所拥有的权限。

设置密码

  • 修改当前用户的密码:
set password =password('123456')
  • 修改某个用户的密码:
update mysql.user set password=password('123456') where user='li4';
flush privileges;   #所有通过user表的修改,必须用该命令才能生效。

修改用户:

  • 修改用户名
update mysql.user set user='li4' where user='wang5';
flush privileges;   #所有通过user表的修改,必须用该命令才能生效。

删除用户

drop user li4;

不要通过delete from user u where user=‘li4’ 进行删除,系统会有残留信息保留。

权限管理

授予权限

  • 授权命令
grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by '连接口令';
  • 该权限如果发现没有该用户,则会直接新建一个用户。
  • 比如,本地命令行方式
grant select,insert,delete,drop on atguigudb.* to li4@localhost  ;

给li4用户用本地命令行方式下,授予atguigudb这个库下的所有表的插删改查的权限。

  • 授予通过网络方式登录的的joe用户
grant all privileges on *.* to joe@'%'  identified by '123';

授予通过网络方式登录的的joe用户 ,对所有库所有表的全部权限,密码设为123.
就算 all privileges 了所有权限,grant_priv 权限也只有 root 才能拥有。

  • 给 root 赋连接口令
grant all privileges on *.* to root@'%'  ;
  • 后新建的连接没有密码,需要设置密码才能远程连接。
update user set password=password('root') where user='root' and host='%';

收回权限

  • 命令
revoke  权限1,权限2,…权限n on 数据库名称.表名称  from  用户名@用户地址 ;
  • 若赋的全库的表就 收回全库全表的所有权限
REVOKE ALL PRIVILEGES ON mysql.* FROM joe@localhost;
  • 收回mysql库下的所有表的插删改查权限
REVOKE select,insert,update,delete ON mysql.* FROM joe@localhost;
  • 对比赋予权限的方法。必须用户重新登录后才能生效

查看权限

  • 查看当前用户权限
show grants;
  • 查看某用户的全局权限
select  * from user ;
  • 查看某用户的某库的权限
select * from  db;
  • 查看某用户的某个表的权限
select * from tables_priv;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安澜仙王

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

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

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

打赏作者

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

抵扣说明:

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

余额充值