2016-01-08 75 views
1

發生的問題是MySQL不讓我創建用戶,然後授予其權限。繼從該網站的指示:MySQL爲新用戶授予權限會消除登錄能力

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; 

mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' 

->  WITH GRANT OPTION; 

查找其贈款時,結果是這樣的:

mysql> 
SHOW GRANTS FOR 'monty'@'localhost'; 

+-------------------------------------------+ 
| Grants for [email protected]    | 
+-------------------------------------------+ 
| GRANT USAGE ON *.* TO 'monty'@'localhost' | 
+-------------------------------------------+ 

我能夠登錄到蒙蒂,但沒有任何特權,沒有創建,選擇,等等

(回到root用戶) 我試着'FLUSH PRIVILEGES'認爲它會'刷新'授權表,但沒有發生,也沒有更新授權表。現在,當我嘗試登錄到蒙蒂再次出現此錯誤:

ERROR 1524 (HY000): Plugin '*BF06A06D69EC935E85659FCDED1F6A80426ABD3B' is not loaded

(由FLUSH特權命令引起)

爲什麼發生這種情況有什麼建議?我認爲這是我的設置有問題,但我不確定。的信息

額外資料:

當使用USER()或CURRENT_USER(),它示出了根@本地。正如預料的那樣,SHOW GRANTS顯示「授予所有權利 TO'root'@'localhost'WITH GRANT OPTION」and「GRANT PROXY ON''@''TO'root'@'localhost'WITH GRANT OPTION」。所以所有的特權授予都在那裏。

當我嘗試「SELECT user,password FROM mysql.user;」時,在密碼列下沒有任何內容顯示爲'monty'。

編輯:求解檢查下面我的解決方案。

回答

0

的問題是,雖然我安裝了MySQL的最新版本,它是仍然使用舊版本的MySQL表mysql.user某種原因。通過運行mysql.upgrade,它更新了可以通過刪除「密碼」列查看的mysql.user表。

0

試試這個,

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; 

FLUSH PRIVILEGES; 

GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION; 
+0

最近我問過的一個問題已經回答瞭解決方案,並行地提出了這個工具https://www.webyog.com/product/sqlyog在我的案例中工作。上面發佈的查詢是從執行查詢的歷史獲得的通過它在後端,因爲它允許用戶以GUI格式創建和授予權限。 – marklong

+0

這不起作用,只要我在創建用戶之後調用'FLUSH PRIVILEGES',當嘗試將GRANT PRIVILEGES設置爲'用戶'或嘗試登錄''時顯示'ERROR 1524(HY000):Plugin ...'用戶'。 –