sys租户下非root用户,无法忽略查询表名大小写

【 使用环境 】生产环境
【 OB or 其他组件 】OceanBase数据库
【 使用版本 】4.3.2社区集群版
【问题描述】
在系统已经设置忽略大小写的情况下,sys租户下的root用户查询是忽略大小写的,但是新建立的用户查询无法区分大小写
【复现路径】
1.确认系统是否已经开启大小写忽略
2.用root用户写一个查询语句,并将实际小写或者大写的表名故意写为大写或者小写。可看到root用户能查询成功
3.新建一个用户,并将该库中该表的权限赋予用户(只赋予该表的权限)
4.用该用户写同样的sql进行查询,发现会报大小写错误问题。
【附件及日志】
1.
image

以上是用root查询的结果

以上是用非root用户查询的结果

这是没有权限吧。。查询的时候报了一个1142的错误

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000001429287

另外,不要在 sys 租户下 建库建表建业务用户。

楼上两位老师已经回复的很好了,你这里是没有权限访问这张表,可能建的用户授权有问题。

是的,就是因为大写问题,如果改成小写可以查询,但是系统有设置忽略大小写。而且root用户大写查询也不会有问题

是有分过,但是我们在非系统租户下建表,并指定权限的时候,navicat会显示所有的表。所有人员都习惯了navicat,所以不好更换其它客户端

show variables like ‘%lower_case%’;

这个查询下看下

lower_case_table_names=2 在比较时也是不区分大小写的,
这个sql你使用root用户执行下看看,先保证权限没问题

https://www.oceanbase.com/knowledge-base/oceanbase-database-20000000017?back=kb