首頁  >  文章  >  資料庫  >  如何修正phpMyAdmin連線MySQL 8.0時出現「客戶端未知的身份驗證方法」錯誤?

如何修正phpMyAdmin連線MySQL 8.0時出現「客戶端未知的身份驗證方法」錯誤?

Barbara Streisand
Barbara Streisand原創
2024-11-23 22:41:10343瀏覽

How Can I Fix the

了解 phpMyAdmin 與 MySQL 8.0 的相容性

在資料庫管理領域,phpMyAdmin 仍然是一個廣受歡迎的工具。然而,隨著 MySQL 發展到最新版本 8.0,使用者可能會遇到與 phpMyAdmin 的連線障礙。

遇到錯誤:

當嘗試存取phpMyAdmin 時,使用者經常會遇到以下問題:

#2054 - The server requested authentication method unknown to the client

出現以下錯誤:

此錯誤源自於MySQL中採用的增強安全措施8.0,引入了更強的密碼雜湊機制。

解決方案:

  1. 要解決此問題,您必須更改MySQL 實例中為root 使用者指定的驗證方法:
以root 身分登入MySQL控制台使用者:
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
更改驗證外掛程式:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

透過將驗證外掛設定為' mysql_native_password,'您啟用與phpMyAdmin。

Docker 環境解決方案:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -p 3306:3306 -d mysql:latest

docker exec -it mysql bash

mysql -u root -pPASSWORD

ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

exit

exit

docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

對於使用Docker 容器的用戶:

其他注意事項:

mysql/mysql-server docker image:

# default-authentication-plugin=mysql_native_password

對於此 docker 映像,只需在 /etc/my.cnf中取消註解以下行:

docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -e MYSQL_ROOT_HOST=% -p 3306:3306 -d mysql/mysql-server:latest
docker exec -it mysql sed -i -e 's/# default-authentication-plugin=mysql_native_password/default-authentication-plugin=mysql_native_password/g' /etc/my.cnf
docker stop mysql; docker start mysql
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

或者,可以使用下列解決方法指令使用:

default_authe ntication_plugin:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
更新的解決方案(09/13/2021):

注意:確保包含引號。

以上是如何修正phpMyAdmin連線MySQL 8.0時出現「客戶端未知的身份驗證方法」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn