记一次有趣的MySQL权限问题

报错与解决

Java程序报错:

nested exception is java.sql.SQLSyntaxErrorException: 
(conn=8795) SELECT command denied to user 'test'@ip for table 'table1'

收到这个反馈后,我和另一个DBA同事,一起仔细排查了权限,可以非常确定权限已经授予。

仔细比对报错中的表名,确认业务侧表名也没有错。

但是就是无法访问。没有思路了,期间,开发还说要不要再找个dba大佬一起看(ps:意思是说,我俩不行啊)

最后,我们大胆猜测是否Java的报错有问题,果然,sql语句中实际查询的是 db1.table1; 而实际上不存在 db1 库,而是 db1_xx

终于破案了哈。(pia pia 打脸啊😂)

一些思考

最近公司内部在做关于《批判性思维》的培训,今天的案例非常符合其中一点:

大胆猜测,小心求证。