存储过程的定义者

时间:2009-10-26 08:34:37

标签: mysql

大多数存储过程都是在%或'someUser'@ localhost创建的 当我将该过程复制到另一台服务器时,它不起作用,因为用户'someUser'不存在。转储文件中的相关行如下所示。

/*!50003 CREATE*/ /*!50020 DEFINER=`root`@`%`*/ /*!50003 PROCEDURE `SP_Name`(in dt varchar(10))

如何在不在其中创建用户的情况下在其他服务器上成功运行该过程?

1 个答案:

答案 0 :(得分:0)

将DEFINER子句中的'username'更改为在新服务器上运行的用户。

/*!50003 CREATE*/ /*!50020 DEFINER=`[new_server_user]`@`%`*/ /*!50003 PROCEDURE `SP_Name`(in dt varchar(10))