我是靠谱客的博主 痴情航空,最近开发中收集的这篇文章主要介绍mysql grant usage_为什么只有grant usage权限却可以增删改查,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

用dbuser在192.168.0.1上登录远程数据库:

show grants;

显示

GRANT USAGE ON *.* TO 'dbuser'@'192.168.0.1' IDENTIFIED BY PASSWORD '*FE63xxxxxxxxxxxxx1C16A' 仅此一条,

dbuser这个用户只有usage权限,查了下mysql manual,mysql usage权限就是空权限,默认create user的权限,只能连库,啥也不能干,但是这个用户却能对数据库表select, insert,update,delete,是怎么回事呢?

经过排查发现,

show grants显示的是本用户的权限,但是如果有user,db这些权限表的数据不一致情况, 它就没那么智能了,因为以前有dbuser@%的用户,赋给了权限,后来从user表删除了这个用户, 没有用drop user,所以user表没了这个用户,但是db表权限还在,另一个用户dbuser@192.168.0.1 访问时会去db表查看权限, 刚好mapping到了dbuser@%这个用户的权限,所以可以增删改查了,但是用show grants for user dbuser@192.168.0.1 只会显示和它 完全匹配的权限,并不会引入%这个用户的权限,所以所有操作都用命令,能保证权限表的一致性,不然容易找不到问题。

最后

以上就是痴情航空为你收集整理的mysql grant usage_为什么只有grant usage权限却可以增删改查的全部内容,希望文章能够帮你解决mysql grant usage_为什么只有grant usage权限却可以增删改查所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部