之所以写这篇文章,是因为我纠结下面这个问题?
首先,我创建了一个用户user1,赋予它对sc表查,删,该的权限
即:
grant select,update,delete
on sc
to user1
再创建一个user5用户后,赋予它们对SM数据库的public角色,然后,我赋予全部用
户对表SC的SELECT权限通过使用public。
即:
grant select
on sc
to public
此时,user5可以查看sc表了接着,我收回所有用户对表SC的SELECT权限,重新登录
user5,user1看看效果,发现,user1还是可以查看,但是user5不行!!!!
why?
原来,public是一个全部人都具有的角色,我们可以通过public赋予权限给全部用
户,同样收回public权限的时候也只是收回public这个角色的权限。
恍然大悟,前面我们已经单独给user1赋予权利了!,而回收的确实public这个角色
的权限。