Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Membetulkan Ralat \'Kaedah Pengesahan Tidak Diketahui Pelanggan\' Semasa Menyambungkan phpMyAdmin ke MySQL 8.0?

Bagaimanakah Saya Boleh Membetulkan Ralat \'Kaedah Pengesahan Tidak Diketahui Pelanggan\' Semasa Menyambungkan phpMyAdmin ke MySQL 8.0?

Barbara Streisand
Barbara Streisandasal
2024-11-23 22:41:10391semak imbas

How Can I Fix the

Menavigasi Keserasian phpMyAdmin dengan MySQL 8.0

Dalam bidang pengurusan pangkalan data, phpMyAdmin kekal sebagai alat yang dicari. Walau bagaimanapun, apabila MySQL berkembang ke versi terbaharunya, 8.0, pengguna mungkin menghadapi halangan sambungan dengan phpMyAdmin.

Ralat Ditemui:

Apabila cuba mengakses phpMyAdmin, pengguna sering menghadapi ralat berikut:

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

Ralat ini berpunca daripada langkah keselamatan yang dipertingkatkan digunakan dalam MySQL 8.0, yang memperkenalkan mekanisme pencincangan kata laluan yang lebih kukuh.

Penyelesaian:

Untuk menyelesaikan isu ini, anda mesti mengubah kaedah pengesahan yang ditentukan untuk pengguna akar dalam contoh MySQL:

  1. Log masuk ke konsol MySQL sebagai akar pengguna:
root@9532f0da1a2a:/# mysql -u root -pPASSWORD
  1. Tukar pemalam pengesahan:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Dengan menetapkan pemalam pengesahan kepada ' mysql_native_password,' anda mendayakan keserasian dengan phpMyAdmin.

Penyelesaian Persekitaran Docker:

Bagi mereka yang menggunakan bekas 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

Pertimbangan Tambahan:

docker mysql/mysql-server imej:

Untuk imej docker ini, cuma nyahkomen baris berikut dalam /etc/my.cnf:

# default-authentication-plugin=mysql_native_password

Sebagai alternatif, arahan penyelesaian berikut boleh digunakan:

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_authentication_plugin:

Penyelesaian dikemas kini (09/13/2021):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

N.B: Pastikan anda memasukkan petikan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Semasa Menyambungkan phpMyAdmin ke MySQL 8.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn