兼容性判定
真机验证:oceanbase 4.2.5.7 · DEFINER 语法解析;权限模型租户化,SQL SECURITY 语义待核 |实测2026-07-09(v4.2.5.7,172.16.0.146): DEFINER 于 PROCEDURE 可建、于 VIEW 实测被拒(1064)支持度partial
严重度minor
置信度high
依据规则my.proc.definer
怎么改
需按命中位置逐条评估改写
判定说明
DEFINER 语法解析;权限模型租户化,SQL SECURITY 语义待核 |实测2026-07-09(v4.2.5.7,172.16.0.146): DEFINER 于 PROCEDURE 可建、于 VIEW 实测被拒(1064)
库侧 / 应用侧路径
库侧改造
需人工确认改造边界
应用侧改造
需人工确认改造边界
推荐路线:case_by_case。验证建议:DEFINER 与 SQL SECURITY 决定对象以谁的权限执行;目标端权限模型(PG 的 SECURITY DEFINER/INVOKER)语义相近但账号体系('user'@'host')需重新映射,最小权限原则重审
规则样例
CREATE DEFINER=`app`@`%` PROCEDURE p1() BEGIN SELECT 1; END
CREATE DEFINER=admin@localhost VIEW v1 AS SELECT id FROM t
CREATE PROCEDURE p1() BEGIN SELECT 1; END