2009-10-26 47 views
0

大多數存儲過程已創建爲根或at'someUser'@ localhost 當我將該過程複製到另一個服務器時,由於用戶'someUser'不存在,所以它不起作用。轉儲文件中的相關行如下所示。存儲過程的定義器

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

如何在不創建用戶的情況下成功運行其他服務器上的過程?

+0

似乎是http://stackoverflow.com/questions/2666286/mysql-definer-in-stored-procedure – 2010-05-21 21:37:54

回答

0

將DEFINER子句中的'用戶名'更改爲新服務器上運行的用戶。

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