深入学习MYSQL-权限管理

权限管理

用户管理

  • 查看用户
use mysql;
select * from user;

可以看到表列有很多权限Y代表拥有该权限,N标识没有权限。
深入学习MYSQL-权限管理_第1张图片

  • 增加用户
#增加了一个名为demo密码为demo的用户,需要注意的是密码是经过加密后存储到mysql的并不能直接看到明文密码 并且创建用户需要有创建用户的权限
#新创建的用户是没有权限的
CREATE user demo IDENTIFIED by 'demo';
  • 更改用户密码
#注意需要用函数包裹一下,进行加密
set password for demo = password("pass123");

深入学习MYSQL-权限管理_第2张图片
用这个用户登录没有权限操作
在这里插入图片描述

  • 重命名用户
#将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'
  • 权限关键字表:
    深入学习MYSQL-权限管理_第3张图片
    深入学习MYSQL-权限管理_第4张图片
  • 移除权限
#表示收回demo对数据库liyong的查看权限
revoke select on liyong.* from demo;

你可能感兴趣的:(数据库,mysql,数据库,学习)