mysql出現ERROR1698(28000):Access denied for user root@localhost錯誤解決方法


問題

在安裝過程中沒有出現設置密碼的環節,root登錄是就報了這個錯誤。

解決

第一步:
先進入mysql,使用sudo無需密碼進入:
sudo mysql -u root -p
或者sudo cat /etc/mysql/debian.cnf中的用戶密碼登陸:

sudo cat /etc/mysql/debian.cnf
mysql -u debian-sys-maint -p
輸入密碼:Z92J09kFOw8IyK0x

第二步:
連入后更改密碼設定:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

第三步:
退出MySQL,在終端重啟mysql:

sudo service mysql stop
sudo service mysql start

第四步:
以剛剛設定的密碼登陸

原因分析

在Ubuntu下,root用戶默認使用的plugin是auth_socket方式,在該方式下重設密碼即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM