千家信息网

mysql中怎么修改所有的definer

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇文章给大家分享的是有关mysql中怎么修改所有的definer,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql中的defin
千家信息网最后更新 2025年01月21日mysql中怎么修改所有的definer

本篇文章给大家分享的是有关mysql中怎么修改所有的definer,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

mysql中的definer是什么,有什么作用?

先授权一个: grant all on testdb.* to 'user1'@'%' identified by '000000' with grant option;    然后我们创建一个存储过程如下:
USE `testdb`;
DROP procedure IF EXISTS `user_count`;DELIMITER $$
USE `testdb`$$
CREATE DEFINER=`root`@`%` PROCEDURE `user_count`() LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL  SQL SECURITY INVOKER  COMMENT '' BEGIN select count(*) from mysql.user; END$$DELIMITER ;

用root帐号登陆:

mysql> use testdb;
Database changedmysql> call user_count();
+----------+ | count(*) | +----------+ | 3 | +----------+ 1 row in set (0.00 sec)Query OK, 0 rows affected (0.00 sec)可以正常查询出来。我们再用user1进行登陆:mysql> use testdb;
Database changedmysql> call user_count();ERROR 1142 (42000): SELECT command denied to user 'user1'@'localhost' for table 'user'

发现系统报错查询不到了,这是因为我们在上述定义的SQL SECURITY值为INVOKER,存储过程执行过程中会以user1具有的权限来执行,其中调用到了mysql的库,而我们的user1帐户只有testdb库的使用权限,所以会返回失败。

如果方便修改mysql中所有已经定义到的definer?

现在在mysql涉及的definer有view、trigger、function、procedure、event。我们一个个作介绍。

1.修改function、procedure的definer

update mysql.proc set definer='user@localhost'; -- 如果有限定库或其它可以加上where条件

4.修改trigger的definer

Flush tables with readlock

Unlock tables

以上就是mysql中怎么修改所有的definer,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

过程 更多 权限 知识 篇文章 存储 查询 登陆 实用 作用 只有 就是 工作会 帐户 文章 有限 条件 看吧 知识点 系统 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全宣传图像 珠海无限软件开发报价表 传奇ui选择服务器选项调整 软件开发2018哪哈报名 宁夏数字化城管软件开发 宝山区上门软件开发厂家哪个好 网络安全攻防风险点 网络技术有限公司电话号码 天津大规模软件开发方法 浙江图书馆显示服务器忙怎么办 php数据库操作代码 java动态修改服务器ip地址 东北亚网络技术 国产cpu服务器u盘启动不了 图书馆数据库设计案例cdm图 服务器没有显卡是什么原因 意识形态和网络安全 数据库应用设计作业 农业物联网软件开发定制 孝感软件开发互动平台教学视频 长沙路草软件开发有限公司 数据库课程设计系统流程图 无线网络安全设置认证类型 低学历学软件开发咋样 40能学软件开发 超市管理软件开发研究报告 推荐软件开发的笔记本电脑 未来教育三级数据库技术讲义 c 获取数据库表里的索引 供应链信息系统数据库采用
0