2010-03-09 68 views
3

作爲MySQL的root用戶,我執行以下操作:Mysql - 如何讓用戶登錄?

grant all on mydb.* to john identified by 'john1'; 

然後,從外殼,我試圖通過

mysql -h localhost -u john -pjohn1; 

登錄但是當我這樣做,我得到的錯誤

ERROR 1045 (28000): Access denied for user 'john'@'localhost' (using password: YES) 

如何讓john登錄到mysql終端?我是否需要使用root用戶來更改mysql.user表中的內容?

感謝

+0

請注意,下面的答案比「登錄」或「使用」訪問提供了更多的訪問權限。 – Kzqai 2016-09-30 22:05:13

回答

7

嘗試

GRANT ALL PRIVILEGES on mydb.* to 'john'@'localhost' identified by 'john1'; 

或者,也許這個問題是因爲你沒有指定模式。 添加 「mydb的」 您登錄控制檯命令的末尾:

mysql -h localhost -u john -pjohn1 mydb 

文檔:http://dev.mysql.com/doc/refman/5.1/en/adding-users.html

+0

出於某種原因,我不得不在您的解決方案可以工作之前刪除mysql.user表中的user ='john'的所有記錄。 – John 2010-03-09 21:37:38

3

嘗試: mysql -h localhost -u john -p

你會被提示輸入口令。改爲輸入您的密碼。如果仍然不能登錄,給privelege john訪問localhost

GRANT ALL PRIVILEGES on mydb.* to 'john'@'localhost' identified by 'john1';

並嘗試重新登錄。

相關問題