欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > MySQL系列—6.权限管理

MySQL系列—6.权限管理

2024/10/25 20:21:58 来源:https://blog.csdn.net/md54333/article/details/141607564  浏览:    关键词:MySQL系列—6.权限管理

目录

1、MySQL用户权限层级

2、权限

3、MySQL访问控制

4、权限表字段详解

5、用户权限收回


1、MySQL用户权限层级

全局权限:对单个MySQL实例有所有库表的访问权限
 

# *.* 表示数据库库的所有库和表,ALL对应所有权限,存储在mysql.user表中GRANT ALL ON *.* TO 'user'@'host';

数据库层级,这些权限存储在mysql.db表 中
 

#对 test库下的所有具有所有权限GRANT ALL ON test.* TO 'user'@'host'; 

表层级,存储 mysql.tables_priv表中
 

#对mydb库的mytable表具有所有权 限GRANT ALL ON mydb.mytable TO 'user'@'host'; 

列层级,,这些权限存储在mysql.columns_priv表 中
 

# test数据库下的mytable表的columne列col1, col2, col3具有所有权限,很少使用GRANT ALL (col1, col2, col3) ON test.mytable TO 'dbmadin'@'127.0.0.1';grant select(id,name),update(age) on test.mytable to 'dbmadin'@'localhost';

2、权限

静态权限

数据权限:select,insert,update,DELETE,File

管理权限:CREATE,alter,INDEX,DROP,SHOW VIEW

3、MySQL访问控制

MySQL权限控制主要是集中在5张表中,user,db,tables_priv,columns_priv,procs_priv每次启 动会直接加载到内存中

用户连接检查阶段

a. 用户连接时,MySQ server首先从user表里匹配host, user, password,匹配不到则拒绝 Mysql client的连接

b. check mysql.user表的max_connections和max_user_connections,如果超过上限则拒 绝连接

c. check user表的SSL安全连接,配置SSL,检查用户证书

d. 三个检查通过,MySQL server端与MySQL client端建立connection,连接建立后,当用 户执行SQL语句时,执行SQL语句检查。

e.执行SQL语句时的检查,依次检查user表、db表、tables_priv, columns_priv, procs_priv表里查看是否具有相应权限

4、权限表字段详解

用户拥有服务器中所有数据库的select权限,user表中的Select_priv列为Y

用户单单只拥有某个一数据库的select权限那么user表中的Select_priv为N

如果授予一个用户单独某个数据库的权限,就会在db表中记录一条相关信息

5、用户权限收回

使用REVOKE收回权限之后,用户帐户的记录将从db、host、tables_priv、columns_priv表 中删除

# 移除saos_test用户对于ab.*的权限;Mysql> revoke all on ab.* from 'xxxxx'@'%';# 刷新授权表;Mysql> flush privileges;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com