1. 程式人生 > 資料庫 >ubuntu18.0.4安裝mysql並解決ERROR 1698 (28000): Access denied for user ''root''@''localhost''

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',希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!