ubuntu18.0.4安裝mysql並解決ERROR 1698 (28000): Access denied for user ''root''@''localhost''
前言
最近學習linux,然後將win換成了ubuntu。之前安裝的mysql也不能用了,現在將在ubuntu18.0.4上安裝mysql並將碰到的問題記錄如下:
下載並安裝mysql
執行語句sudo apt-get install mysql-server
因為我這裡已經安裝好了的,所以會出現這樣的。可以通過mysql --version檢視安裝版本。
登入mysql
執行語句 mysql -u root -p
其-u是user -p是埠。登入時出現ERROR 1698 (28000): Access denied for user ‘root'@‘localhost'。這應該時我們之前安裝時候,密碼忘記了或者不記得初始化密碼造成的:
下面我們講講如何解決這個問題:
1.輸入指令sudo vim /etc/mysql/debian.cnf
我們會看到如下資訊:
其中debian-sys-maint賬戶是安裝mysql時系統自動生成的mysql使用者,對應的密碼就是該使用者的密碼。
2.登入賬戶debian-sys-maint:
mysql -u debian-sys-maint -p
可以登入mysql:
3.修改root帳號密碼:
輸入指令 use mysql;
然後輸入指令:
UPDATE user SET authentication_string=PASSWORD(‘你要設定的密碼') where USER=‘root';這就是設定root賬戶的密碼。
然後輸入指令quit,退出mysql,執行重啟mysql指令sudo service mysql restart;
然後登入mysql,當執行 mysql -u root -p,發現還是報錯了:ERROR 1524 (HY000): Plugin ‘msyql_native_password' is not loaded
這時候密碼其實已經修改成功了的,是plugin root 的欄位是auth_socket,需要修改過來。
4.修改plugin:
繼續使用debian-sys-maint
帳號登入;
執行指令:
use mysql
執行指令:
select user,plugin from user;
接著執行指令:
update user set authentication_string =password(‘你要設定的密碼'),plugin=‘mysql_native_password' where user=‘root';
最後退出並重啟mysql即可:
總結
以上所述是小編給大家介紹的ubuntu18.0.4安裝mysql並解決ERROR 1698 (28000): Access denied for user 'root'@'localhost',希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!