前言
最近學(xué)習(xí)linux,然后將win換成了ubuntu。之前安裝的mysql也不能用了,現(xiàn)在將在ubuntu18.0.4上安裝mysql并將碰到的問(wèn)題記錄如下:
下載并安裝mysql
執(zhí)行語(yǔ)句sudo apt-get install mysql-server

因?yàn)槲疫@里已經(jīng)安裝好了的,所以會(huì)出現(xiàn)這樣的。可以通過(guò)mysql --version查看安裝版本。
登錄mysql
執(zhí)行語(yǔ)句 mysql -u root -p
其-u是user -p是端口。登錄時(shí)出現(xiàn)ERROR 1698 (28000): Access denied for user ‘root'@‘localhost'。這應(yīng)該時(shí)我們之前安裝時(shí)候,密碼忘記了或者不記得初始化密碼造成的:

下面我們講講如何解決這個(gè)問(wèn)題:
1.輸入指令sudo vim /etc/mysql/debian.cnf
我們會(huì)看到如下信息:

其中debian-sys-maint賬戶是安裝mysql時(shí)系統(tǒng)自動(dòng)生成的mysql用戶,對(duì)應(yīng)的密碼就是該用戶的密碼。
2.登錄賬戶debian-sys-maint:
mysql -u debian-sys-maint -p
可以登錄mysql:

3.修改root帳號(hào)密碼:
輸入指令 use mysql;
然后輸入指令:
UPDATE user SET authentication_string=PASSWORD(‘你要設(shè)置的密碼') where USER=‘root';這就是設(shè)置root賬戶的密碼。
然后輸入指令quit,退出mysql,執(zhí)行重啟mysql指令sudo service mysql restart;
然后登錄mysql,當(dāng)執(zhí)行 mysql -u root -p,發(fā)現(xiàn)還是報(bào)錯(cuò)了:ERROR 1524 (HY000): Plugin ‘msyql_native_password' is not loaded

這時(shí)候密碼其實(shí)已經(jīng)修改成功了的,是plugin root 的字段是auth_socket,需要修改過(guò)來(lái)。
4.修改plugin:
繼續(xù)使用debian-sys-maint
帳號(hào)登錄;
執(zhí)行指令:
use mysql
執(zhí)行指令:
select user,plugin from user;
接著執(zhí)行指令:
update user set authentication_string =password(‘你要設(shè)置的密碼'),plugin=‘mysql_native_password' where user=‘root';
最后退出并重啟mysql即可:

總結(jié)
以上所述是小編給大家介紹的ubuntu18.0.4安裝mysql并解決ERROR 1698 (28000): Access denied for user 'root'@'localhost',希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!