2017-10-10 59 views
1

所有權限的用戶連接到MySQL數據庫讓我描述我的問題: 我有一個只能由一個用戶操作(除了管理員)的數據庫。我通過(CREATE USER 'dbms'@'localhost' IDENTIFIED BY 'password';)創建了該用戶。然後我創建了數據庫本身(CREATE DATABASE dbms_db;)並授予用戶所有權限(GRANT ALL PRIVILEGES ON dbms_db.* to 'dbms'@'localhost';)。最後,我刷新了權限(FLUSH PRIVILEGES;)。即使我跑SHOW GRANTS FOR 'dbms'@'localhost';結果是:不能與誰擁有它

+------------------------------------------------------------+ 
| Grants for [email protected]         | 
+------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'dbms'@'localhost'     | 
| GRANT ALL PRIVILEGES ON `dbms_db`.* TO 'dbms'@'localhost' | 
+------------------------------------------------------------+ 

但是,當我試圖與該用戶連接到數據庫的訪問被拒絕。

$ mysql -h localhost -u dbms -D dbms_db -p 
> ERROR 1044 (42000): Access denied for user 'dbms'@'localhost' to database 'dbms_db' 

只是爲了澄清,如果我使用root用戶,我可以訪問數據庫。另外,如果我沒有用-D標誌指定數據庫,我可以用dbms用戶連接到MySQL客戶端。

回答

0

1.try檢查在mysql數據庫表的用戶,並確保acount有權@ localhost.the以下是我的數據庫中的圖像的logining; enter image description here 2.如果您使用的是vitual機在一臺計算機,則必須使用完全相同@ip而非@localhost。