1. ホーム
  2. javascript

[解決済み] ER_NOT_SUPPORTED_AUTH_MODE - MySQL サーバー

2022-02-28 18:19:54

質問


接続に失敗した Node.js Server から MySQL-Database


        私が持っていたのは MariaDB"です。 にインストールされている Node.jsサーバ" しかし、代わりに SQL データベースを使用することにしました。をアンインストールして、完全に削除しました。 "マリアDB"。 をインストールし、その後に "Community Ed." MySQLデータベース" . を一通り見た後、*. 'MySQLセットアッププロセス' **JS DB 接続のデファクトコードスニペットを実装した JavaScript ドキュメントを介して、データベースへの接続を何度か試みました。 私のDB接続のドキュメントは、以下のコードスニペットとして掲載されています。 - 下記のコード・スニペットに示すように . 残念なことに、JS/SQL接続は各試行で失敗しました。


以下は、私が受け取った「Failed Connection Error Message」です。



"ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication
protocol requested by server. Consider upgrading MariaDB client."



使用しているJS/SQL接続のスニペット。



    var mysql = require('mysql');
    
    var connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : '********',
        database : 'foobarDb'
    }); 


解決方法は?

MySQLのバージョンによっては、接続を確立するための認証が少し乱れているようですね。私がしなければならなかったのは、次の行を追加することだけです。 "insecureAuth" : trueCreateConnection(...) のクレデンシャルを使用します。

var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'root',
  password : '********',
  database : 'vod_bill_database',
  insecureAuth : true
}); 

現在、エラーは消えており、クライアントは正常に接続しています。