使用通配符把一此库的select权限给某用户,再把其中某一库给相同用户修改权限,最终只有select权限

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.1
【复现路径】做过哪些操作出现的问题
Grant SELECT ON testDB_%.* to ‘testUser’@‘%’;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX ON testDB_db01.* TO ‘testUser’@‘%’;
【遇到的问题:问题现象及影响】
testUser用户仅有testDB_db01的select权限
【资源配置】
【附件:截图/日志/监控】

这个能执行成功吗?

可以的,库名有反引号的,没有显示出来。

我在6.5版本中确实能复现这个情况

以前的测试中,赋权限的时候对通配符 % 并不太友好,可以一个一个来 :crazy_face:

saas环境,库有点多。

可以sql拼字符串出来

如果%不好使也只能这样了,本来想会不会是某个变量控制的权限叠加策略,也没有找到相关信息。

我也试了,tidb5.4.3和6.5.0都有这个问题,但是在mysql5.7上没有复现这个问题。。。。

Grant SELECT ON testDB_% .* to ‘testUser’@‘%’;

有没有厂家的人,给个好的方案?谢谢!

你好
经验证,这个问题属于 bug,已有 issue 跟踪处理,请留意后续修复进展。暂时请按楼上的朋友给出的方法 workaround,多谢。

收到,多谢!

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。