tidb怎么创建一个用户只允许对指定库里面的多张表有查询权限?

【 TiDB 使用环境】线上
【 TiDB 版本】5.4.1
【遇到的问题】tidb创建一个用户只允许对指定库的某张表有查询权限,创建用户后用navicat查看却发现看不到库和表,但是从命令行连接可以查看到库和表,我现在的需求是:创建一个用户对指定库的10张表有查询权限,其他表没有任何权限,请问该怎么创建?


%E5%9B%BE%E7%89%87

赋权的命令,以及赋权后该用户的权限是什么?命令行连接的用户是什么权限(show grants;)?

命令行连接后可以看到库和表,但是navicat连接后看不到

你好!我现在需要创建个用户对多张表有查看权限,使用sql语句该怎么创建?现在只能对一张表有权限

命令行里面能看到表,select 能看到内容吗?

再追加一条这个权限就好了:

grant references on test.* to siteadmin_zy00001@'%';

感谢大佬解答!但是grant select on siteadmin_zy00001.game to test@’%’; grant references on siteadmin_zy00001.* to test@’%’;这样授权后可以了,但是我现在想设置多张表的查询权限sql该怎么写?siteadmin_zy00001这个库下面有100多张表,我要设置10张表只有查看权限

可以,谢谢!我现在需要设置多张表只有查看权限

谢谢!刚才测试了可以了,是要一张表一张表的设置权限,好像不能一次性设置多张表的查询权限

grant select on siteadmin_zy00001.AA to test@’%’; grant select on siteadmin_zy00001.BB to test@’%’; grant select on siteadmin_zy00001.CC to test@’%’; 这样就多张表了

是的!非常感谢

是的,就10张表,写10条grant就好了。

请问下 grant references on siteadmin_zy00001.* to test@’%’; 是TiDB独有的语法吗,是什么作用呢,我一般都是grant all privileges 把某个库的读写权限给用户

grant all 权限太大了,不利于权限管控。grant ref 在mysql里就支持,可以参考下mysql官档。

官方说法是允许创建外键:cry:

查询和references有关系?这个少见啊

看来不是我一个人没用过这个语法啊:sob:

该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。