萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MYSQL導入存儲過程無法執行問題解決辦法

MYSQL導入存儲過程無法執行問題解決辦法

存儲過程導入之後程序無法正常執行了,在網上找了很久說是權限問題,下面我們就存儲過程導入後因權限問題無法執行問題一起來看看解決辦法吧。

通過mysql導入的數據庫,當裡面有存儲過程的時候,導入後存儲過程是無法用程序使用了,找了很久原因,最後發現是權限問題。

1、我們要用查看數據庫裡面的存儲過程:在mysql裡面輸入

mysql> show function status;

運行後的結果如圖所示:

MYSQL導入存儲過程無法執行問題解決辦法

2、修改對應存儲過程的Definer和Security_type這兩個字段的值
加入我們程序鏈接數據庫的帳戶是leiming,鏈接數據庫的地址是127.0.0.1
我們需要輸入

mysql> update mysql.proc set Definer='[email protected]';

然後修改Security_type字段:

mysql> update mysql.proc set Security_type='INVOKER';

這裡這裡我們是修改的所有的存儲過程,當然你要修改你對應的那個存儲過程,只需要加上where條件即可。

ps MYSQL導入存儲過程報錯

今天向mysql導入存儲過程的時候報錯,錯誤如下:

you *might* want to use the less safe log_bin_trust_function_creators variable
 
處理這個問題,只需要進入mysql,然後輸入:

mysql> SET GLOBAL log_bin_trust_function_creators = 1;
 
退出,重新導入存儲過程,成功!

copyright © 萬盛學電腦網 all rights reserved