存儲過程導入之后程序無法正常執行了,在網上找了很久說是權限問題,下面我們就存儲過程導入后因權限問題無法執行問題一起來看看解決辦法吧.
通過mysql導入的數據庫,當里面有存儲過程的時候,導入后存儲過程是無法用程序使用了,找了很久原因,最后發現是權限問題.
1、我們要用查看數據庫里面的存儲過程:在mysql里面輸入:
mysql> show function status;
2、修改對應存儲過程的Definer和Security_type這兩個字段的值,加入我們程序鏈接數據庫的帳戶是leiming,鏈接數據庫的地址是127.0.0.1,我們需要輸入:
mysql> update mysql.proc set Definer='leiming@127.0.0.1';
然后修改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 --Vevb.com
處理這個問題,只需要進入mysql,然后輸入:
mysql> SET GLOBAL log_bin_trust_function_creators = 1;
退出,重新導入存儲過程,成功.
新聞熱點
疑難解答