在工作中遇到使用php调用存储过程,数据库迁移后,不能再用,把遇到的问题记录下来.
1.存储过程定义者
在创建存储过程时,需要显示指定定义人:CREATE DEFINER=`deployop`@`localhost` PROCEDURE
2.存储过程执行权限
存储过程的执行需要execute权限,需要指定使用数据库用户有此权限(粒度在具体一个数据库上即可):GRANT execute ON `gd\_jinian\_new`.* TO ‘deployop’@’%’;
3.存储过程中使用临时表创建权限
如果存储过程中使用了临时表,那么临时表创建也需要权限,此权限粒度在具体一个数据库上:GRANT grant create temporary tables ON `gd\_jinian\_new`.* TO ‘deployop’@’%’;
4.在正式创建存储过程时,需要修改sql语句,
在最前加入:”DELIMITER $$”
在最后加入(包括;号):”$$ DELIMITER;”
mysql存储过程创建及可执行时权限
最新推荐文章于 2021-06-29 10:17:53 发布