mysql data 权限_mysql之权限篇

mysql权限表:

mysql.user

mysql.db

mysql.host

mysql.table_priv

mysql.column_priv

由于权限信息数据量比较小,访问又非常频繁,mysql在启动时,就会将所有的权限信息都加载到内存中,并保存在几个特定的结构里。

所以每次手工修改相关权限表之后,都需要执行flush privileges通知mysql重新加载权限信息;但是通过grant、revoke以及drop user命令来修改的权限,则不必手工执行

flush privileges命令,因为这三种操作方式在修改系统权限信息的同时,也会去更新内存中的权限信息。

show grants for 'username'@'hostname'--查看用户权限

global level

此级别的权限信息保存在mysql.user表中

这个级别的权限是针对整个mysqld的,对数据库下的所有表及字段都有效。如果一个权限是在global级别上授予的,则会覆盖其他所有级别的相同权限设置。

database level

数据库级别的权限

针对特定的数据库赋予权限

问题场景:

有一次用grant给一个用户赋予了某一个database的权限,但是当时不知道mysql的权限构成,所以当时一个劲的去user表当中去找,一看没有改变,当时非常郁闷,

以为sql语句错误了,于是去搜去找了好久,不断的实验,还是没有解决,彻底崩溃,后来才发现是在db表当中的。

table level

column level

routine level

当前只有excute以及alter routine两种权限,针对的对象主要是procedure和function

后三种权限使用较少,只是在一些特殊情况下才这样用;另外database level可以在数据库不存在的情况下完成授权。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2010-07-13 17:43

浏览 992

分类:数据库

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值