MYSQL 用户拥有角色,但是权限不可用

  1. 首先角色需要激活,否则无法使用,网上都提到了,用 SET ROLE ALL,启用当前用户的所有角色;
  2. MYSQL 8.0的角色权限是区分大小写的,授权给ROLE后,一律权限相关的对象名会变成小写,你再访问这此对象时,也只能用小写;
  3. 角色权限中不要使用 FUNCTION(改编成 PROCEDURE 吧),因为在将角色授权给用户时,MYSQL 会将这些 FUNCTION 权限当成 PROCEDURE 权限授给用户,你使用 SHOW GRANTS FOR UserXXX USING RoleXXX,会看到这种混账操作。

以上三个坑发掘于 MYSQL 8.0.15

 

posted @ 2020-12-28 15:26  nutix  阅读(777)  评论(0编辑  收藏  举报