關於ubantu18.04下workbench數據庫連接失敗(Access denied for user 'root'@'localhost')的解決方法


因為最終成功連接了,所以這里我就只把成功后的截圖以及命令分享給大家,如果敘述的不夠正確,還希望大家多多指點。

終端命令下:mysql -u root -p 輸入密碼,進入數據庫

輸入命令:select user,host,plugin from mysql.user;   可以看到一張表,里面包含user、host、plugin

有些朋友只需要修改plugin這一項為mysql_native_password,但是我修改了后還是出現上面的問題。后來查詢資料,發現還要修改host一項為%,才可以真正連接好數據庫

其實修改%的目的,也是修改用戶的登陸權限

%  :任意主機可以的登陸

localhost :僅本機可以登陸

IP地址:指定的IP地址可以登陸

首先修改plugin,上命令:use mysql;   update user set plugin='mysql_native_password';

可以再次輸入上面查看表的命令,如果成功,root的plugin就會變成mysql_native_password

然后exit     退出mysql

重啟數據庫服務:./etc/init.d/mysql restart

這個時候你打開workbench,看看是否能夠連接上,如果不能,那說明和我的問題一樣,那么接下來就修改登陸權限

同樣mysql -u root -p 進入數據庫

use mysql;

update db set host = '%' where user = 'root';

flush privileges;  刷新權限列表

exit

重啟數據庫服務:./etc/init.d/mysql restart

此時再次打開workbench,輸入密碼,就可以連接了

 

 

可能有些地方說的不夠清楚,望大家見諒。博主也是新手上路,希望以后可以學習到更多的知識,分享給大家,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM