2017-03-07 129 views
2

這讓我瘋狂......當我嘗試登錄到Mysql時。Mysql錯誤:錯誤1045(28000):訪問被拒絕用戶'root'@'localhost'(使用密碼:YES)

TanTengluns-MacBook:~ tantan$ cd /usr/local/mysql/bin 
TanTengluns-MacBook:bin tantan$ ./mysql -u root -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 
TanTengluns-MacBook:bin tantan$ ./mysql 
ERROR 1045 (28000): Access denied for user 'tantan'@'localhost' (using password: NO) 

有人會幫忙嗎?謝謝!!

+0

那麼,你輸入密碼了嗎? – marmeladze

回答

1

我想,你有輸入錯誤的密碼... 在我的情況下,代表像這樣,如果我已經把錯誤的密碼。

[email protected]:~$ /usr/bin/mysql -uroot -p 
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 

第二種情況是同樣的問題。

如果您忘記了密碼,我建議您重置您的mysql root密碼。

首先,你必須停止mysql服務。

#sudo service mysql stop 

其次,添加「跳贈款表」在您的my.conf或my.cnf文件。

在我的情況下(MySQL v5.7.17),mysqld.cnf位於'/etc/mysql/mysql.conf.d'中。

幾乎my.conf/my.cnf文件顯示是這樣的。

[mysqld] 
user   = mysql 
pid-file  = /var/run/mysqld/mysqld.pid 
socket  = /var/run/mysqld/mysqld.sock 
port   = 3306 
basedir  = /usr 
datadir  = /var/lib/mysql 
tmpdir  = /tmp 
lc-messages-dir = /usr/share/mysql 

skip-external-locking 

skip-grant-tables   /*** You Add this code! ***/ 

接下來,重新啓動mysql服務。

#sudo service mysql start 

然後打開你的mysql服務。在你的情況下,

$ cd /usr/local/mysql/bin 
$ ./mysql -u root 

然後,你可以登錄沒有身份驗證。

接下來,您應該更改'root'的密碼。

mysql> UPDATE user SET password=PASSWORD('yourpassword') WHERE user='root'; 

畢竟,還原my.conf/my.cnf/mysqld.cnf等等。 (刪除'skip-grant-tables')

最後,重新啓動mysql服務。

$ sudo service mysql restart 

如果通過以下步驟無法訪問mysql,我建議重新安裝Mysql。

謝謝!

+0

非常感謝!1! –

+0

^_ ^嘗試並回復結果! –

+0

我並不完全準備好第二步重置我的密碼:「其次,在my.conf或my.cnf文件中添加'skip-grant-tables'。」你能幫忙嗎? –

相關問題