概述
分享一个比较神奇的现象,是我们的开发人员在开发环境因为不规范操作发现的,后来研究了一下是mysql权限控制方面的问题,下面分享一下这个问题的解决过程。
问题
问题:用root用户在数据库lcpdb创建函数getUnitChildList可以看到函数内容,但是普通用户账号只能看到函数存在,看不到函数内容,无法修改,且无法调用。而且,普通账号可以删除这些存储过程并重建。
下面介绍下排查时的思路:
1、查看权限
有大佬说这个问题是由于是赋权是采用 all privileges的方式进行赋权的,这种赋权方式,是没有函数等存储过程使用的权限。需要重新给普通用户赋权。因为我们授权刚好是