Mysql中五级权限小结
2024-09-03 20:20:07
mysql的权限控制主要是通过mysql库下的db,user,host,table_priv,column_priv表控制。
由于权限信息数据量比较小,所以mysql在启动时会将所有的权限消息加载到内存。
所以每次手工修改相关权限表时需要通过 flush privileges命令来重新加载。
但是如果是通过grant,revoke或drop user,create user等命令这修改权限的话就不需flush
mysql中权限一共有五级,按照大小顺序为:global > database > table > column, routine level是对存储过程或函数操作的
①, Global Level
全局权限控制,所有权限信息存储在mysql.user表中。Global level是针对整个mysqld的。
grant select,create table on *.* to u1 identified by password;
②, Database Level
作用域为指定整个数据库中的所有对象。
grant select,create table on databaseName.* to u1 identified by password;
user database1;
grant drop on * to 'u1'@'%', 'u1'@localhost,u2@'%';
③,Table Level
作用域为指定特定用户下的特定表
grant index on test.t1 to 'u1'@localhost
④, Column Level
作用域为特定库下特定表中的某些列。
Column级别的权限有insert,select,update。授权方式: grant select(c1,c2,c3) on test.t1 to 'u1'@localhost;
⑤, Routine Level
routine level的权限主要只有execute和alter routine两种,主要针对的对象是procedure和function这两种对象,在授权routine level权限时,需要指定数据库和相关对象。
grant execute on test.p1 to 'u1'@'%';
最新文章
- js控制密码的显示与隐藏实例
- 又是一个小正则replace
- Android UI组件
- div+css实现未知宽高元素垂直水平居中
- Unity3d Shader开发(三)Pass(Culling &; Depth Testing)
- javaEE servlet获取jsp内置对象
- PhpStorm 10.0注册
- Struts2 属性驱动、模型驱动、异常机制
- 以太坊开发DApp实战教程——用区块链、星际文件系统(IPFS)、Node.js和MongoDB来构建电商平台(一)
- 小a与黄金街道 (欧拉函数)
- 【XSY2733】Disembrangle DP
- React-Native 真机调试踩坑指南
- spring事物要知道
- Python3之socket编程
- R语言中的遗传算法详细解析
- 剑指offer五十之数组中重复的数字
- [整理记录备忘] CentOS 7 相关记录
- group by 并且 count(1)的linq写法
- json工具性能比较:json-lib和jackson进行Java对象到json字符串序列化[转]
- Sql_server_2014创建数据库自动备份