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即可:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章