尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

MySQL视图定义者和安全性definer/invoker的区别

MySQL视图定义者和安全性definer/invoker的区别
📅 发布时间:2026/6/20 15:08:45

definer和invoker的区别

在创建视图或者是存储过程的时候,是需要定义安全验证方式的(也就是安全性SQL SECURITY),其值可以为definer或invoker,表示在执行过程中,使用谁的权限来执行。

definer:由definer(定义者)指定的用户的权限来执行

invoker:由调用这个视图(存储过程)的用户的权限来执行

definer

当定义为DEFINER时,必须数据库中存在DEFINER指定的用户,并且该用户拥有对应的操作权限,才能成功执行。与当前用户是否有权限无关。
示例:

CREATE DEFINER=dev@% PROCEDURE p_user_login(IN u_name VARCHAR(25), IN u_password VARCHAR(100))
BEGIN
SELECT u.id, u.name, u.tid, u.status, u.is_report FROM v_user u WHERE u.name=u_name AND u.password=u_password AND u.status=1;
END;

invoker

当定义为INVOKER时,只要执行者有执行权限,就可以成功执行。

示例:

CREATE DEFINER=dev@% PROCEDURE p_user_login(IN u_name VARCHAR(25), IN u_password VARCHAR(100))
SQL SECURITY INVOKER
BEGIN
SELECT u.id, u.name, u.tid, u.status, u.is_report FROM v_user u WHERE u.name=u_name AND u.password=u_password AND u.status=1;
END;

 

相关新闻

  • 软件测试day2
  • 软件测式学习
  • 担心安全与速度?这份跨网文件传输方式推荐清单请收好!

最新新闻

  • 文成未来教育:专注高考志愿填报的专业升学规划机构 - 起跑123
  • 东莞市新开业或装修后理发店卫生+空气检测,公共场所检测 - 公共场所卫生检测
  • 2026年6月宝玑官方售后服务网络全新升级:中国区60+门店地址、电话信息同步启用 - 亨得利中国服务中心
  • GitHub AI热榜实操解码:从星标数到可运行代码的落地指南
  • 端午静听雨
  • 宁波生成式引擎GEO优化服务商技术实力对比分析 - 起跑123

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号