了解 phpMyAdmin 與 MySQL 8.0 的相容性
在資料庫管理領域,phpMyAdmin 仍然是一個廣受歡迎的工具。然而,隨著 MySQL 發展到最新版本 8.0,使用者可能會遇到與 phpMyAdmin 的連線障礙。
遇到錯誤:
當嘗試存取phpMyAdmin 時,使用者經常會遇到以下問題:
#2054 - The server requested authentication method unknown to the client
出現以下錯誤:
此錯誤源自於MySQL中採用的增強安全措施8.0,引入了更強的密碼雜湊機制。
解決方案:
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中文網其他相關文章!