TiSpark开启鉴权时,报Failed to get pd addresses from TiDB, please make sure user has `PROCESS` privilege on `INFORMATION_SCHEMA`.`CLUSTER_INFO`

TiDB版本:7.1.2
TiSpark版本: [tispark-assembly-3.3_2.12-3.2.2.jar]

跟这个问题一样:tispark开启了tidb鉴权,使用spark-shell查询tidb数据时提示java.lang.IllegalArgumentException: Failed to get pd addresses from TiDB, please make sure user has `PROCESS` privilege on `INFORMATION_SCHEMA`.`CLUSTER_INFO`

我想问的是,如果这个问题是因为INFORMATION_SCHEMA.CLUSTER_INFO这个表没有权限,那我该如何进行授权?我发现除了root用户,其他用户都没有权限,我试过使用grant select on INFORMATION_SCHEMA.CLUSTER_INFO to ‘user’,但是没有用,查询这个表依然会报1227 - Access denied; you need (at least one of) the PROCESS privilege(s) for this operation

我看了文档,
Prerequisites

  • The database’s user account must have the PROCESS privilege.

所以是因为没有PROCESS权限的问题,但是我设置权限的时候,却报> 1221 - Incorrect usage of DB GRANT and GLOBAL PRIVILEGES,所以要如何设置PROCESS权限?

grant 授予权限之后,有进行 flush privileges; 操作吗

授权时首先要有process特权,然后再授予其它权限,这是系统视图的特性

用什么用户进行授权的,当前用户权限是什么?授权语句是什么?

show grants for 当前用户看下当前用户权限呢

我们一般都是grant all prvilees

这个问题我已经解决了,PROCESS权限只能是全局的,只能使用grant process on . to ‘test’@‘%’; 这里只能写*.*,不然就会报1227 - Access denied; you need (at least one of) the PROCESS privilege(s) for this operation

是这样,跟mysql是一样的,而且没有什么风险,可以放心给。

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