程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 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條件即可。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved