2012-12-24 47 views
1

執行以下mysql的語句來創建數據庫,並給予特權,用戶不能訪問MySQLmysql的權限

create database my_db; 
GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd'; 
GRANT SELECT ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd'; 
FLUSH PRIVILEGES; 


mysql -u user -p mypasswd drops me 
Access denied for user 'user'@'localhost' 
+0

您的用戶名@%定接入。所以你可以嘗試下面的命令** mysql -user @%-p mypasswd ** – Dhinakar

回答

0

-p和密碼之間沒有空格之後。

由於您僅授予數據庫my_db的權利,因此還要添加db以直接連接到該數據庫。

mysql -u user -pmypasswd my_db 
+0

即使這樣也會讓我失去同樣的效果我也在嘗試使用mysql -u用戶-p而不是用db編輯輸入密碼 – fefe

+0

,應該用word現在好多了。 –

1

您需要分別授予用戶從本地主機連接的權限。 % 不管用。

`GRANT ALL PRIVILEGES ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd'; 
GRANT SELECT ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd';` 
+0

謝謝你 – fefe

0

我嘗試這樣做:

GRANT ALL ON my_db.* TO 'user'@'%' IDENTIFIED BY 'mypasswd'; 
FLUSH PRIVILEGES; 

而且事後

./mysql -uuser -pmypasswd 

工作確定爲我。

如果沒有,請嘗試使用本地主機:

GRANT ALL ON my_db.* TO 'user'@'localhost' IDENTIFIED BY 'mypasswd'; 
FLUSH PRIVILEGES;