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

Barbara Streisand
Lepaskan: 2024-11-23 22:41:10
asal
318 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk
  1. Tukar pemalam pengesahan:
mysql> ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

default_authentication_plugin:

Penyelesaian dikemas kini (09/13/2021):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan