Mysql的权限管理其实就是对操作的管理(增删改查这些)主要分为四个方面:
- 对数据库系统的权限管理
- 对单个数据库的权限管理
- 对数据表的权限管理
- 对属性列的权限管理
首先新建一个用户
create user '用户名'@'允许登录数据库的ip地址' identified by '密码';
// 登录语句:
mysql -u用户名 -p密码 -h服务端ip
相应的权限管理分别对应以下mysql数据库中的表
- user表:对数据库系统的权限,也就是对数据库系统的所有数据库的所有表的权限管理。如果一个用户有相应的权限,比如
Select_priv权限,那么他可以对所有数据库中的表进行select操作
现在我刚刚新建了 ls 用户,尝试用这个用户查询 root 用户建立的jw数据库的s表
可以看到Select_priv权限是 N

直接就找不到jw数据库

把Select_priv权限改为 Y然后测试
grant select on *.* to 'ls'@'localhost';
如果是所有权限则grant all on *.* to 'ls'@'localhost';
更新 flush privileges;

可以查到内容

尝试更改内容,则没有权限

- db表:对单个数据库的权限,设置为
Y则该用户对这一个数据库的所有表都有相应的权限
grant select on jw.* from to 'ls'@'localhost';
- tables_priv表:对单个表的权限管理,语句为:
grant select on jw.s to 'ls'@'localhost';
- columns_priv表:对单个表的部分属性进行权限管理
grant select(id), update(id) on jw.s to 'ls'@'localhost';
同时也有相应的收回权限语句
revoke select on *.* from 'ls'@'localhost';
revoke select on jw.* from 'ls'@'localhost';
revoke select on jw.s from 'ls'@'localhost';
本文详细介绍了Mysql的权限管理,包括对数据库系统、单个数据库、数据表及属性列的权限管理。通过具体示例,讲解了如何创建用户、授予和收回各种权限,以及这些权限对应的mysql数据库中的表。

被折叠的 条评论
为什么被折叠?



