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
Lepaskan: 2024-11-24 03:41:13
asal
225 orang telah melayarinya

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

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

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

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

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

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

Penyelesaian Terkini (09/13/2021)

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

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!

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