root账号没有alter grant权限

Bug 反馈
清晰准确地描述您发现的问题,提供任何可能复现问题的步骤有助于研发同学及时处理问题
【 TiDB 版本】
【 Bug 的影响】
无法给任何用户授权alter权限。查询了root的权限,返回的信息如下:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,PROCESS,REFERENCES,SHOW DATABASES,SUPER,EXECUTE,INDEX,CREATE USER,CREATE TABLESPACE,TRIGGER,CREATE VIEW,SHOW VIEW,CREATE ROLE,DROP ROLE,CREATE TEMPORARY TABLES,LOCK TABLES,CREATE ROUTINE,ALTER ROUTINE,EVENT,SHUTDOWN,RELOAD,FILE,CONFIG,REPLICATION CLIENT,REPLICATION SLAVE ON . TO ‘root’@‘%’ WITH GRANT OPTION

【可能的问题复现步骤】

【看到的非预期行为】

【期望看到的行为】

【相关组件及具体版本】

【其他背景信息或者截图】
如集群拓扑,系统和内核版本,应用 app 信息等;如果问题跟 SQL 有关,请提供 SQL 语句和相关表的 Schema 信息;如果节点日志存在关键报错,请提供相关节点的日志内容或文件;如果一些业务敏感信息不便提供,请留下联系方式,我们与您私下沟通。

create user test_alter@'%' ;

grant alter on *.* to test_alter@'%';

select Alter_priv from mysql.`user` where User='test_alter';

7.1.1没有复现。

请问这种我有什么办法可以解决呢

其实我觉得你不应该怀疑这么基础的功能。
大概率是有别的问题。

您可以尝试以下几个步骤:

  1. 确认您使用的语句是否正确。在 TiDB 中,授权语句的语法比较严格,如果语句不正确可能会导致授权失败。
  2. 确认您的用户是否具有授权权限。在 TiDB 中,授权操作需要具有 GRANT 权限的用户才能进行。
  3. 确认您的 TiDB 版本是否正确。在 TiDB 的早期版本中,可能存在一些权限检查的问题。如果您的 TiDB 版本比较早,可以尝试升级到最新版本,看是否能够解决问题。

这个没问题

我测试是这样的,root的权限和你显示不太一样
image

这个root账号是不是删了重建过?

grant all privileges on . to test_alter@‘%’;

什么版本,我这里测试没问题

这个root账号不是系统初始化自动创建的吧,一般自动创建的是all权限。

木有复现,感觉账号被删过重建

1 个赞

看看这个有没有用