匿名用户MySQL 8.0.31 怎么修改特定数据库下地function的definer?
MySQL 8.0.31 怎么修改特定数据库下地function的definer?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
4条回答
默认
最新
update mysql.proc set definer=.....这个应该还可以用吧
评论
有用 3mysql修改definer方法
– 函数、存储过程
– 定时事件
– 视图
–触发器
修改方法:
1、利用“update mysql.proc set definer=…”修改function的definer;
2、利用“update mysql.EVENT set definer=…”修改event的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 --触发器
select DEFINER from information_schema.TRIGGERS;
https://www.bbsmax.com/A/QV5ZEGqwJy/
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

