2016-04-08 40 views
3

所以我試圖使用最新版本的MySQLWorkbench(6.3.6)遠程連接到MySQL 5.1.x服務器。MySQLWorkbench:獲取「拒絕訪問,需要顯示數據庫權限」錯誤

我已經運行在MySQL的提示符下運行這些命令:

use mysql; 
grant all privileges on mydb.* to 'myuser'@'%' identified by 'mypassword'; 
flush privileges; 

,我可以連接到架構/ DB使用工作臺,但我不能讓表/其他架構對象的列表。

這是我得到確切的迴應:

Error Code: 1227 Access denied; you need the SHOW DATABASES privilege for this operation 

這是我從演出補助得到響應。我在本地主機上以root用戶身份運行它。我混淆了可能識別我的數據庫的任何信息。

mysql> show grants for 'mydb'@'%'; 
+-----------------------------------------------------------------------------------------------------+ 
| Grants for [email protected]%                     | 
+-----------------------------------------------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'mydb'@'%' IDENTIFIED BY PASSWORD 'mypassword' | 
| GRANT ALL PRIVILEGES ON `mydb`.* TO 'mydb'@'%'              | 
+-----------------------------------------------------------------------------------------------------+ 
2 rows in set (0.00 sec) 

有關如何解決它的任何想法?謝謝。

回答

6

這一行

grant all privileges on mydb.* ... 

您給予的特權用戶的每一個表中mydb數據庫。但是,這是一個全球特權,不受上線影響。

您可以在下面運行中,也允許SHOW DATABASES命令:

GRANT SHOW DATABASES ON *.* TO 'myuser'@'%' 
+0

是有辦法的選項,以便在應用程序,所以我不顯示其他數據庫中的對象?我並不是真的在乎他們。只有我有權訪問的數據庫中的對象。 :) – mrjayviper

+0

所以你只想看看'mydb'中的表? @mrjayviper - 如果是這樣,請使用'show tables in mydb;' – baao

+0

但是不能幫我解決我的mysqlworkbench問題? mysqlworkbench甚至不會列出我有權訪問的數據庫中的對象。 – mrjayviper

相關問題