Isu Pengesahan Node.js dengan MySQL 8.0
Aplikasi Node.js yang sebelum ini disambungkan ke pangkalan data MySQL menggunakan akaun root mungkin menghadapi ralat pengesahan apabila menaik taraf kepada MySQL 8.0 kerana perubahan dalam pengesahan lalai pemalam.
Memahami Isu
MySQL 8.0 kini menggunakan caching_sha2_password sebagai pemalam pengesahan lalai, manakala MySQL 5.7 menggunakan mysql_native_password. Pemacu Node.js tertentu untuk MySQL pada masa ini tidak mempunyai sokongan untuk mekanisme pengesahan yang serasi untuk pemalam baharu.
Penyelesaian Kemungkinan
Untuk menyelesaikan isu ini, pertimbangkan untuk melaksanakan mana-mana yang berikut penyelesaian:
Ubah Pengguna Akaun:
Ubah akaun pengguna root untuk menggunakan pemalam mysql_native_password lama:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MyNewPass';
Buat Pengguna Baharu:
Buat akaun pengguna baharu yang menggunakan mysql_native_password pemalam:
CREATE USER 'foo'@'localhost' IDENTIFIED WITH mysql_native_password BY 'bar';
Kesimpulan
Isu pengesahan antara Node.js dan MySQL 8.0 berpunca daripada perubahan dalam pemalam pengesahan lalai. Penyelesaian yang disediakan membolehkan pengguna mengekalkan sambungan MySQL mereka menggunakan sama ada pemalam lama atau penyambung MySQL rasmi. Adalah disyorkan untuk melaksanakan penyelesaian kekal dengan memerhatikan kemas kini pada pemacu Node.js untuk MySQL.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Masalah Pengesahan Node.js Selepas Menaik taraf kepada MySQL 8.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!