2012-12-02 46 views
3

我使用我的主數據庫用戶登錄到Phpmyadmin頁面/工作臺遠程訪問應用程序,並且我有權限問題。無法更改MySql例程

這一切都開始時,我試圖改變我已經存儲在數據庫中的例程。當試圖從工作臺應用程序中改變這些例程時,什麼都不會發生。 我可以調用這些例程並執行它們,但不能更改或轉到腳本。

我在不同的論壇上搜索了幾個小時,並獲得了關於授予訪問命令 的一些答案,但後來我再次遇到了錯誤#1142的權限問題,命令被用戶(主用戶)拒絕。

我真的迷失在這裏,已經失去了幾小時的工作,以達到我的例程腳本。

最後一個註釋 - 我已經創建了這些例程,當我連接到同一個用戶,但來自不同的遠程連接(不同的IP地址)。

非常感謝您的幫助。

+1

權限不授予用戶,而是授予用戶/主機名組合。許可改變例程的權限僅授予您的用戶在原始位置,而不是您當前的位置。 – eggyal

+0

嗨,Mayur,感謝您的回放事情是,我不能再在同一個位置,當我創建這些例程時,是不是應該能夠生成腳本的任何其他主用戶? – user1870247

回答

0

CREATE DEFINER = '管理員' @ 'localhost' 的程序ACCOUNT_COUNT() SQL SECURITY INVOKER BEGIN 選擇 '帳戶數:',COUNT(*)FROM mysql.user; END;

查看上面的例子。

您需要使用超級用戶登錄並根據您的新用戶名和主機名更改過程中的definer參數。創建的同一個定義者可以編輯存儲過程。

0

這裏是一個解決方案,我是如何解決這個:

1)添加「MySQL的」數據庫的用戶,您已經成功登陸並

建議:現在你可以改變函數和過程

2)將全局權限「SUPER」添加到您的用戶

建議:否則如果您保存過程/函數,將會出現以下錯誤:「錯誤1227:訪問被拒絕;您需要(至少一個)SUPER此操作的特權「