权限管理
用户管理
- 查看用户
use mysql;
select * from user;
可以看到表列有很多权限Y代表拥有该权限,N标识没有权限。
- 增加用户
#增加了一个名为demo密码为demo的用户,需要注意的是密码是经过加密后存储到mysql的并不能直接看到明文密码 并且创建用户需要有创建用户的权限
#新创建的用户是没有权限的
CREATE user demo IDENTIFIED by 'demo';
- 更改用户密码
#注意需要用函数包裹一下,进行加密
set password for demo = password("pass123");
用这个用户登录没有权限操作
- 重命名用户
#将demo这个名字改为test
rename user demo to test;
- 删除用户
drop user demo;
- 显示用户的权限
show grants for demo;
权限控制
需要注意当前用户要有给其它用户开权限的权限
这条语句标识给demo这个用户给liyong这个库的选择权限
grant select on liyong.* to demo;
给所以的权限给demo
GRANT ALL PRIVILEGES ON *.* TO 'demo';
FLUSH PRIVILEGES;
- 表的权限
GRANT UPDATE ON database_name.table_name TO 'user';
- 数据库权限
GRANT SELECT ON database_name.* TO 'user';
- 某一个列的权限
GRANT INSERT, UPDATE (column_name) ON database_name.table_name TO 'user';
- 存储过程的权限
GRANT EXECUTE ON PROCEDURE database_name.stored_procedure_name TO 'user'
- 权限关键字表:
- 移除权限
#表示收回demo对数据库liyong的查看权限
revoke select on liyong.* from demo;