mysql如何修改definer

35次阅读
没有评论

共计 993 个字符,预计需要花费 3 分钟才能阅读完成。

这篇文章主要介绍“mysql 如何修改 definer”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql 如何修改 definer”文章能帮助大家解决问题。

修改方法:1、利用“update mysql.proc set definer=…”修改 function 的 definer;2、利用“update mysql.EVENT set definer=…”修改 event 的 definer。

本教程操作环境:windows10 系统、mysql8.0.22 版本、Dell G3 电脑。

mysql 怎么修改 definer

1. 修改 function、procedure 的 definer

select definer from mysql.proc; --  函数、存储过程
update mysql.proc set definer=‘user@localhost‘; --  如果有限定库或其它可以加上 where 条件 

2. 修改 event 的 definer

select DEFINER from mysql.EVENT; --  定时事件
update mysql.EVENT set definer=‘ user@localhost ‘;

3. 修改 view 的 definer

相比 function 的修改麻烦点:

select DEFINER from information_schema.VIEWS;
select concat(alter DEFINER=`user`@`localhost` SQL SECURITY DEFINER VIEW  ,TABLE_SCHEMA, . ,TABLE_NAME,  as  ,VIEW_DEFINITION,) from information_schema.VIEWS where DEFINER‘user@localhost‘;

查询出来的语句再执行一遍就好了。

4. 修改 trigger 的 definer

目前还没有具体方便的方法,可以借助工具端如 HeidiSQL、sqlyog 等来一个个修改。注意改前有必要锁表, 因为如果改的过程中有其它表改变而触发,会造成数据不一致。

关于“mysql 如何修改 definer”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-13发表,共计993字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)