共计 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 小编每天都会为大家更新不同的知识点。