Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Membetulkan Ralat Pengesahan MySQL 8.0: Tidak Padan Protokol Pelanggan dalam Node.JS?
Ralat Pengesahan MySQL 8.0: Tidak Padan Protokol Pelanggan
Banyak pengguna menghadapi ralat semasa cuba mewujudkan sambungan dengan MySQL 8.0 menggunakan Node.JS:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Penyelesaian
Untuk menyelesaikan isu ini, laksanakan arahan berikut dalam Meja Kerja MySQL:
Pastikan untuk menggantikan 'root', 'localhost' dan 'password' dengan pengguna, hos dan kata laluan khusus anda.
Jika kaedah di atas gagal, cuba laksanakan arahan pertama tanpa memasukkan @'localhost'.
Penjelasan
MySQL 8.0 memperkenalkan kaedah pengesahan lalai caching_sha2_password, yang tidak disokong oleh versi klien MySQL yang lebih lama. Dengan mengemas kini kaedah pengesahan pengguna kepada mysql_native_password, pelanggan boleh berjaya mengesahkan dengan pelayan.
Nota Tambahan
Jika anda tidak dapat menyambung ke MySQL Workbench menggunakan pengguna root, anda mungkin perlu menetapkan semula kata laluan root menggunakan yang berikut langkah:
- Hentikan perkhidmatan MySQL.
- Mulakan perkhidmatan MySQL menggunakan pilihan --skip-grant-tables.
- Sambung ke MySQL pelayan sebagai pengguna root tanpa kata laluan.
- Tetapkan semula kata laluan root menggunakan arahan berikut: TETAPKAN KATA LALUAN UNTUK 'root'@'localhost' = PASSWORD('new_password');
- Mulakan semula perkhidmatan MySQL.
Jika anda menghadapi sebarang isu lain , rujuk sumber berikut:
- Dokumentasi MySQL: https://dev.mysql.com/doc/refman/5.5/en/old-client.html
- Isu GitHub: https://github.com/mysqljs/mysql/issues/1507
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Pengesahan MySQL 8.0: Tidak Padan Protokol Pelanggan dalam Node.JS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!