安全性: 有两个选项
Definer:定义者 , 定义者有什么权限 ,访问视图的人就有什么权限
Invoker: 调用者 ,根据调用这个视图的当前用户来决定 有什么权限
采坑: 项目中有个复杂查询。1050 多行格式化后的视图sql。创建视图默认的安全性是 Definer ,也就是定义者有什么权限,访问者就有什么权限,结果上生成的时运维,使用了另一个 没有读视图权限的账号导入了视图(或者说导入以后这个导入账号的读视图权限被回收了),然后生产的 账号可以 读写表,但是无法 读取视图。
上图的异常就是视图不能读抛出的异常。