Rumah > pangkalan data > tutorial mysql > Mengapa Aplikasi PHP Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Semasa Menyambung ke MySQL 8.0 ?

Mengapa Aplikasi PHP Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Semasa Menyambung ke MySQL 8.0 ?

Linda Hamilton
Lepaskan: 2024-12-10 12:21:10
asal
915 orang telah melayarinya

Why Does My PHP Application Get a

PHP dengan MySQL 8.0 Ralat Sambungan: Kaedah Pengesahan Tidak Diketahui Pelanggan

Penerangan Masalah

Apabila mewujudkan sambungan antara PHP dan pangkalan data MySQL 8.0, ralat berlaku: "Pelayan meminta kaedah pengesahan tidak diketahui oleh pelanggan." Ralat ini boleh menunjukkan isu dengan pemalam pengesahan yang diberikan kepada pangkalan data.

Jawapan

Pemalam pengesahan lalai dalam MySQL 8 ialah 'auth_socket,' yang memerlukan klien penyambung untuk menggunakan pengesahan berasaskan soket. Walau bagaimanapun, aplikasi PHP biasanya lebih suka pengesahan berasaskan kata laluan. Untuk menyelesaikan isu ini:

  1. Log masuk sebagai root ke MySQL: Sambung ke pelayan MySQL anda sebagai pengguna root menggunakan kaedah pilihan anda (cth., MySQL Workbench atau command prompt).
  2. Tukar pemalam pengesahan: Laksanakan SQL berikut arahan:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
Salin selepas log masuk

Pastikan untuk menggantikan 'kata laluan' dengan kata laluan akar yang dikehendaki. Jika aplikasi anda log masuk menggunakan pengguna lain, gantikan 'root' dengan nama pengguna yang sesuai dalam arahan.

Arahan ini mengubah pemalam pengesahan untuk pengguna 'root' (atau pengguna yang ditentukan) kepada 'mysql_native_password, ' yang menyokong pengesahan berasaskan kata laluan.

  1. Mulakan semula MySQL: Sekali arahan itu dilaksanakan, mulakan semula MySQL untuk menggunakan perubahan. Kaedah khusus berbeza-beza bergantung pada sistem pengendalian dan kaedah pemasangan anda.
  2. Sahkan sambungan: Cuba semula menyambung ke MySQL menggunakan aplikasi PHP anda. Ralat seharusnya tidak berlaku lagi.

Maklumat tambahan boleh didapati di dokumentasi Digital Ocean tentang [Memasang MySQL](https://www.digitalocean.com/community/tutorials/how-to-install -mysql-on-ubuntu-20-04).

Atas ialah kandungan terperinci Mengapa Aplikasi PHP Saya Mendapat Ralat 'Kaedah Pengesahan Tidak Diketahui Pelanggan' Semasa Menyambung 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