您好,登錄后才能下訂單哦!
今天項目優化過程中,mysql有個問題The user specified as a definer ('wx_root'@'%') does not exist
查了一下,意思是執行sql
無權限。 看了下數據庫用戶是quoters
而sql沒有所屬權。那就找原因了。發現sql執行過程中,調用了一個存儲過程
而這個存儲過程的創建者是wx_root
。 所以在執行的時候,quoters
沒有權限
解決方案和操作:
1、查看存儲過程的所屬對象: 右鍵存儲過程函數——>選擇對象屬性——>查看函數創建和所屬是不是當前登錄的用戶
2、如果不是,備份原有的存儲過程函數,復制存儲過程函數里面所有內容,新建一個存儲過程,命名跟原來一樣。
3、這樣創建者就是屬于當前登錄用戶了。原來的函數可刪可留了(如果不確定,最好先保留)
另外還有其他原因可能導致這個錯誤,例如執行mysql視圖無權限
視圖無權限解決方案如下
The user specified as a definer ('root'@'%') does not exist。
一般是由于root用戶對全局host無訪問權限。因此只要給root用戶添加一個訪問權限即可。
解決辦法:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。