萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql導入存儲過程無法使用

mysql導入存儲過程無法使用

在mysql中用戶對存儲過程的權限有:ALTER ROUTINE 編輯或刪除存儲過程,CREATE ROUTINE 創建存儲過程,EXECUTE運行存儲過程權限,下面我來給大家介紹一個我碰到的問題.

存儲過程的創建者擁有存儲過程的ALTER、CREATE、EXECUTE權限。

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

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

 代碼如下 復制代碼

mysql> show function status;

運行後的結果如圖所示:

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條件即可。

copyright © 萬盛學電腦網 all rights reserved