在navicat查看不到数据库

【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1.0
【复现路径】做过哪些操作出现的问题

创建用户,并只授权用户一个视图
CREATE USER ‘user01’@‘%’ IDENTIFIED BY ‘123456’;
GRANT SELECT ON my_prod.vw_user_info TO ‘user01’@‘%’;

用navicat登录该用户,只是在用户无法显示数据库(使用 show tables 能查看到有该视图)
image
只是在ui显示不出来,使用 use my_prod 后能正常查询

【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

没有数据库的权限

有数据库权限,可以use到这个数据库,show tables命令也显示出这个视图;这个命令在mysql上是正常的然后可以看到数据库

刷新一下连接?

刷新过了,也用 FLUSH PRIVILEGES; 刷新过权限
用了DataGrip 也是看不到的;

这个不影响使用,在命令行里还是能查出来,只是觉得没在ui没显示出来;授权查看 show view 是可以看到数据库的,但是不想给这个授权用户看到其余的表和视图

没事,我有时候用其他客户端工具也会出现类似问题,比如看的到数据库但是看不到表,但是不影响使用

手动添加一下数据库

重新安装navicat

当前navicat的版本?可以安装最新的navicat版本试试。

我用sqlyog测试没问题
CREATE USER user01@‘%’ IDENTIFIED BY ‘Asia_6796’;
GRANT SELECT ON dys.t_order_log TO user01@‘%’;
FLUSH PRIVILEGES;

1 个赞

:yum:可以换个客户端,强烈推荐DBeaver

dbeaver硬伤不支持数据同步,没有navicat好用 :face_with_raised_eyebrow:

我感觉和navicat的版本有关系,最好能尝试升级一下navicat的版本。

我们公司不让用navicat,我用的sqlyog,这个也能同步数据库,可以试下

改天试一下,比较习惯navicat的界面,是不是因为收费不让用的,navicat貌似现在免费了

大概率是 navicat 的兼容性问题:

1、检查权限,重新连接数据库看看
2、重启 navicat 看看
3、升级 navicat 版本,尝试重新连接

3 步都不行,建议联系 navicat 社区请求支援。

这里手动添加

3 个赞

dbeaver吧,开源,免费。

支持的呀 :yum:

1 个赞

dbeave 没navicat 好用,有时也会出现表无法显示的问题