Bagaimana untuk Membetulkan Ralat 'ER_NOT_SUPPORTED_AUTH_MODE' Semasa Menyambungkan Node.js ke MySQL?

Susan Sarandon
Lepaskan: 2024-11-17 15:20:02
asal
451 orang telah melayarinya

How to Fix the

Menyelesaikan Ralat ER_NOT_SUPPORTED_AUTH_MODE semasa Menyambung Node.js ke MySQL

Apabila menyambungkan pelayan Node.js ke pangkalan data MySQL, anda mungkin menghadapi ralat "ER_NOT_SUPPORTED_AUTH_AUTH tidak menyokong protokol pengesahan yang diminta oleh pelayan." Isu ini timbul apabila klien dan pelayan menggunakan kaedah pengesahan yang berbeza.

Analisis Isu

Mesej ralat menunjukkan bahawa pelayan MySQL dikonfigurasikan untuk menggunakan protokol pengesahan yang lebih baharu yang tidak disokong oleh pelanggan Node.js. Ini boleh berlaku jika versi klien Node.js sudah lapuk.

Penyelesaian

Untuk menyelesaikan isu ini, tingkatkan klien Node.js untuk menyokong protokol pengesahan yang lebih baharu yang digunakan oleh pelayan MySQL. Untuk MySQL v8.0, ikuti langkah berikut:

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

Ingat untuk menggantikan 'root' dan 'password' dengan nama pengguna sebenar dan kata laluan yang dikehendaki. Perubahan ini perlu digunakan pada pengguna yang cuba menyambung.

Coretan Kod (Dikemas kini)

Selepas mengemas kini konfigurasi MySQL dan keistimewaan pengguna, Node. coretan sambungan js harus dikemas kini untuk menggunakan perpustakaan mysql2, yang menyokong pengesahan yang lebih baru protokol:

    const mysql = require('mysql2');

    const connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : 'password',
        database : 'foobarDb'
    });
Salin selepas log masuk

Dengan melaksanakan langkah-langkah ini, anda boleh berjaya mewujudkan sambungan antara pelayan Node.js anda dan pangkalan data MySQL, menghapuskan ralat "ER_NOT_SUPPORTED_AUTH_MODE".

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'ER_NOT_SUPPORTED_AUTH_MODE' Semasa Menyambungkan Node.js ke MySQL?. 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