所有權限的用戶連接到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客戶端。