"ER_NOT_SUPPORTED_AUTH_MODE" Ralat dalam MySQL-Node.js Connection
"ER_NOT_SUPPORTED_MODE" menunjukkan ralat No.js. tidak dapat mewujudkan sambungan dengan pelayan MySQL kerana protokol pengesahan yang tidak disokong. Isu ini timbul apabila pelayan MySQL memerlukan kaedah pengesahan khusus yang pelanggan tidak menyokong.
Dalam kes anda, anda telah meningkatkan daripada MariaDB kepada MySQL. Walau bagaimanapun, coretan sambungan JavaScript yang anda gunakan mungkin masih menggunakan protokol pengesahan MariaDB, yang tidak disokong oleh MySQL 8.0 dan ke atas.
Penyelesaian:Untuk menyelesaikan isu ini, anda perlu menaik taraf klien Node.js anda untuk menyokong protokol pengesahan asli MySQL. Protokol ini serasi dengan kedua-dua pelayan MariaDB dan MySQL.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Ganti "root" dengan nama pengguna dan "kata laluan" dengan kata laluan yang dikehendaki.
FLUSH PRIVILEGES;
var mysql = require('mysql'); var connection = mysql.createConnection({ host: 'localhost', user: 'root', password: 'password', database: 'foobarDb', authPlugin: 'mysql_native_password' // specify the MySQL native authentication protocol });
Atas ialah kandungan terperinci Mengapakah Saya Mendapat Ralat 'ER_NOT_SUPPORTED_AUTH_MODE' Menyambung ke MySQL daripada Node.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!