当前位置:首页 » 存储配置 » mysql更新存储过程

mysql更新存储过程

发布时间: 2025-08-21 08:04:52

A. 如何修改mysql 存储过程权限

方法如下:

  1. 修改mysql 存储过程的definer
    修改mysql.proc表 的definer字段


update mysql.proc set definer='root@%' where db='servant_591up'; UPDATE `mysql`.`proc` SET `definer`='root00@%' WHERE `db`='test' AND `name`='jjjj' AND `type`='PROCEDURE'; UPDATE `mysql`.`proc` SET `definer`='wtc_678869@%' WHERE `db`='servant_591up' AND `type`='PROCEDURE';


2.修改sql security

ALTER PROCEDURE www SQL SECURITY INVOKER ; ALTER PROCEDURE www SQL SECURITY DEFINER ;



(1)MySQL存储过程是通过指定SQL SECURITY子句指定执行存储过程的实际用户;

(2)如果SQL SECURITY子句指定为DEFINER,存储过程将使用存储过程的DEFINER执行存储过程,验证调用存储过程的用户是否具有存储过程的execute权限和DEFINER用户是否具有存储过程引用的相关对象的权限;

(3)如果SQL SECURITY子句指定为INVOKER,那么MySQL将使用当前调用存储过程的用户执行此过程,并验证用户是否具有存储过程的execute权限和存储过程引用的相关对象的权限;

(4)如果不显示的指定SQL SECURITY子句,MySQL默认将以DEFINER执行存储过程。

3.执行存储过程授权

GRANT EXECUTE ON test.* TO 'wtc'@'%'; GRANT CREATE ROUTINE,ALTER ROUTINE, SELECT,CREATE, INSERT, UPDATE, DELETE, EXECUTE ON test.* TO 'wtc'@'%' IDENTIFIED BY '111111'


CREATE ROUTINE : 创建存储过程的权限
ALTER ROUTINE : 修改存储过程的权限

4.删除用户

REVOKE all ON test.* FROM wtc@'%'


DELETE FROM user WHERE User='user_name' and Host='host_name';

FLUSH PRIVILEGES;

好文要顶关注我

热点内容
新闻服务器地址 发布:2025-08-21 11:16:47 浏览:404
php显示表情 发布:2025-08-21 11:00:38 浏览:925
pxelinux 发布:2025-08-21 11:00:31 浏览:123
为什么ios和安卓要用独创字体 发布:2025-08-21 10:59:48 浏览:731
临时缓存是干嘛的 发布:2025-08-21 10:59:34 浏览:489
车压缩机 发布:2025-08-21 10:47:48 浏览:388
菜鸟编程教程 发布:2025-08-21 10:47:06 浏览:708
android启动线程 发布:2025-08-21 10:41:48 浏览:409
机器人编程培训机构加盟 发布:2025-08-21 10:37:20 浏览:41
宽带账户密码如何修改查询 发布:2025-08-21 10:36:25 浏览:959