eroor 1698(28000):Access denied for user 'root' ; eroor 1045(28000):Access denied for user 'root'
阿新 • • 發佈:2018-12-19
問題解決:使用mysql -u root -p
登陸mysql時報錯
eroor 1698(28000):Access denied for user 'root'
分析
安裝mysql時沒有設定密碼,這個問題與ERROR 1045 (28000)
的解決方案一致
解決1,不徹底方案
使用sudo mysql
登陸mysql
解決2,徹底方案:
1.sudo vim /etc/mysql/debian.cnf
,這個檔案裡有MySQL預設的使用者名稱和使用者密碼,
發現預設的使用者名稱是debian-sys-maint
,password後是預設密碼
2.使用預設的使用者名稱與密碼登陸sql : mysql -u debian-sys-maint -p
,發現可以登陸
3.修改密碼:
mysql> update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';
mysql>flush privileges;
顯示Query OK,即更改成功。
4.重啟mysql服務即可
sudo service mysql restart
else:
再次使用root和新密碼登陸,如果出現MySQL ERROR 1698 (28000) 錯誤
1.使用sudo mysql
登陸;或停止mysql服務後,使用sudo mysqld_safe --skip-grant-tables &
2.輸入下面指令:newPwd為你的密碼
mysql> update mysql.user set authentication_string=PASSWORD('newPwd'),plugin='mysql_native_password' where user='root';
重啟mysql服務 ,問題可以解決