5.用户与权限管理

用户与权限管理

1.用户管理

1.创建用户

CREATE USER 用户名 [IDENTIFIED BY '密码'][,用户名 [IDENTIFIED BY '密码']];

2.修改用户

//修改用户名
UPDATE mysql.user SET USER='li4' WHERE USER='wang5';

//修改完之后记得刷新权限
FLUSH PRIVILEGES;

3.删除用户

//1.DROP【推荐】
DROP USER user[,user]…;
eg:
DROP USER 'kangshifu'@'localhost';

//2.DELETE,执行完之后需要刷新权限【不推荐】
DELETE FROM mysql.user WHERE Host=’hostname’ AND User=’username’;
FLUSH PRIVILEGES;

4.密码修改

//1.修改自己的密码
ALTER USER USER() identified by 'abc123';
//或者使用SET
SET password = 'abc123';

//2.修改其他用户的密码
ALTER USER 'lff'@'%' identified by 'abc123';
//或者使用SET
SET password for 'lff'@'%' = 'abc123';

2.权限管理

1.查看权限

查看mysql有哪些权限

show privileges;

常用权限

image-20230626121007515

查看自己有哪些权限

show grants [for current_user()];

2.授予权限

GRANT 权限1,权限2,…权限n ON 数据库名称.表名称 TO 用户名@用户地址 [IDENTIFIED BY ‘密码口令’];
eg:
GRANT SELECT,INSERT,DELETE,UPDATE ON atguigudb.* TO li4@localhost ;

授予所有权限

GRANT ALL PRIVILEGES ON *.* TO joe@'%' IDENTIFIED BY '123';

3.回收权限

REVOKE 权限1,权限2,…权限n ON 数据库名称.表名称 FROM 用户名@用户地址;
eg:
#收回全库全表的所有权限
REVOKE ALL PRIVILEGES ON *.* FROM 'lff'@'%';

4.权限表

权限表存放在mysql数据库中,具体在以下表中存放

  • user表: 记录用户账号和全局权限信息
  • db表:数据库的操作权限
  • tables_priv表:表的操作权限
  • columns_priv表:表中的列的操作权限
  • procs_priv表:存储过程和存储函数设置操作权限

3.角色管理

1.创建角色

CREATE ROLE 'role_name'[@'host_name']...[,'role_name'[@'host_name']];

2.给角色赋予权限

GRANT privileges ON table_name TO 'role_name'[@'host_name'];

3.查看角色的权限

SHOW GRANTS FOR 'manager';

4.回收角色的权限

REVOKE privileges ON tablename FROM 'rolename';

5.删除角色

DROP ROLE role [,role2]...

注意, 如果你删除了角色,那么用户也就失去了通过这个角色所获得的所有权限。

6.给用户赋予角色

GRANT role [,role2,...] TO user [,user2,...];

7.激活角色

SET DEFAULT [ROLE] ALL TO 'kangshifu'@'localhost';

查询当前会话以及激活的角色

select current_role();

8.撤销用户的角色

REVOKE role FROM user;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值