1. 程式人生 > >phpmyadmin連線MySQL8.0報錯#2054 - The server requested authentication method unknown to the client

phpmyadmin連線MySQL8.0報錯#2054 - The server requested authentication method unknown to the client

發生這種錯誤,是由於MySQL 8預設使用了新的密碼驗證外掛:caching_sha2_password,而之前的PHP版本中所帶的mysqlnd無法支援這種驗證
有幾種方法:1.升級PHP版本,PHP7.xx有支援MySQL8.0的外掛認證
2.修改配置檔案my.cnf 使資料庫啟用相容的加密方式
我們這裡講第二種方法
安裝MySQL8.0的過程這裡就不贅述了,可以參考我的另一篇部落格

2.1

whereis mysql
//檢視mysql所存在的目錄

在這裡插入圖片描述

cd /etc/mysql
//切換到/etc/mysql下
ls

在這裡插入圖片描述
我們對my.cnf進行修改

vim my.cnf
//如果許可權不夠的話可以切換到root使用者進行操作

在最底下新增下面的程式碼

[mysqld]
default_authentication_plugin= mysql_native_password
//更改為原來的驗證方式

然後儲存退出,vim的命令可自行百度
重啟mysql服務

sudo service mysql restart

除了上述這種方法,還可以用另一種

2.2

用命令列 mysql -u root -p 登入mysql
輸入:

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密碼'; 
FLUSH PRIVILEGES;

再用phpmyadmin登入管理mysql,報錯消失了。
大功告成