MySQL 8.0 - Ralat Protokol Pengesahan Pelanggan
Apabila cuba menyambung ke pangkalan data MySQL 8.0 menggunakan Node.JS, anda mungkin menghadapi ralat mesej:
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
Ralat ini menunjukkan bahawa klien MySQL menggunakan protokol pengesahan lapuk yang tidak serasi dengan pelayan.
Penyelesaian:
Untuk menyelesaikan isu ini, anda boleh melaksanakan pertanyaan berikut dalam MySQL Workbench:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ganti 'root' dengan nama pengguna MySQL anda, 'localhost' dengan alamat hos dan 'kata laluan' dengan anda kata laluan yang diingini.
Selepas melaksanakan pertanyaan ini, jalankan pertanyaan berikut untuk memuat semula keistimewaan:
flush privileges;
Sekarang, cuba sambungkan ke pangkalan data menggunakan Node.JS sekali lagi.
Jika ralat berterusan, cuba laksanakan pertanyaan pertama tanpa @'localhost' bahagian:
ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY 'password';
Ini sepatutnya menyelesaikan ketidakpadanan protokol pengesahan dan membolehkan anda berjaya mewujudkan sambungan ke pangkalan data.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'ER_NOT_SUPPORTED_AUTH_MODE' Apabila Menyambung ke MySQL 8.0 dengan Node.JS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!