Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Isu Pengesahan phpMyAdmin dengan MySQL 8.0?

Bagaimana untuk Membetulkan Isu Pengesahan phpMyAdmin dengan MySQL 8.0?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 03:41:13232semak imbas

How to Fix phpMyAdmin Authentication Issues with MySQL 8.0?

phpMyAdmin on MySQL 8.0

Ekoran keluaran MySQL 8.0 baru-baru ini, pengguna telah menghadapi kesukaran untuk mengakses phpMyAdmin. Isu ini berpunca daripada percanggahan kaedah pengesahan antara phpMyAdmin dan pelayan. Untuk menyelesaikan masalah ini, ikuti langkah berikut:

Log masuk ke MySQL Console

Mula-mula, log masuk ke konsol MySQL anda sebagai pengguna root menggunakan arahan yang sesuai:

mysql -u root -pPASSWORD

Tukar Pemalam Pengesahan

Setelah log masuk, tukar Pengesahan Pasangkan pada mysql_native_password dengan melaksanakan pertanyaan berikut:

ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';

Persekitaran Berlabuh

Apabila bekerja dalam persekitaran berlabuh, pertimbangkan untuk menggunakan ini arahan:

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

mysql/mysql-server

Jika menggunakan imej docker mysql/mysql-server, ingat bahawa penyelesaian ini adalah untuk persekitaran pembangunan sahaja.

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 mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

Menyahkomen dalam /etc/my.cnf

Untuk menukar pemalam pengesahan secara kekal, nyahtandakan baris berikut dalam fail /etc/my.cnf anda:

default_authentication_plugin=mysql_native_password

Walau bagaimanapun, gunakan kaedah ini dengan berhati-hati.

Penyelesaian Terkini (01/30/2019)

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 exec -it mysql mysql -u root -pPASSWORD -e "ALTER USER root IDENTIFIED WITH mysql_native_password BY 'PASSWORD';"
docker stop mysql; docker start mysql
docker run --name phpmyadmin -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin:latest

Penyelesaian Terkini (09/13/2021)

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

Pastikan sebut harga disertakan seperti yang ditunjukkan.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Isu Pengesahan phpMyAdmin dengan 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