ERROR 8121 (HY000): privilege check fail

【概述】 场景 + 问题概述
创建用户:
mysql> grant select on test1.* to ‘user1’@’%’ identified by ‘123456’;
ERROR 8121 (HY000): privilege check fail

操作用户相关权限:
mysql> show grants;
±--------------------------------------------------------------------+
| Grants for User |
±--------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON . TO ‘root’@‘127.0.0.1’ WITH GRANT OPTION |
±--------------------------------------------------------------------+
1 row in set (0.00 sec)

【TiDB 版本】
mysql> select version();
±-------------------+
| version() |
±-------------------+
| 5.7.25-TiDB-v4.0.0 |
±-------------------+
1 row in set (0.00 sec)

1赞

先检查一下当前用户有没有grant权限

select Grant_priv from mysql.user where user = ‘当前用户名’;

2赞

确实太多的这样问题

1赞

我上面贴出来的那个 WITH GRANT OPTION 是假的吗?

从user表查的话确实没有grant_priv。
±----------±-----±-----------+
| host | user | Grant_priv |
±----------±-----±-----------+
| % | user1 | N |
±----------±-----±-----------+

1赞

你的登录用户是谁,上面没有提供

1赞

show grants 看到的就是 登录用户。

1赞

tidb 中好像不能直接 grant 创建用户(需要分两步:创建用户,再授权)

请问你的问题解决了吗?