web-dev-qa-db-ja.com

Node.js&MySQL-エラー:1251-クライアントはサーバーから要求された認証プロトコルをサポートしていません。 MySQLクライアントのアップグレードを検討する

現在、私はこのコードのみを持っています:

const Sequelize = require('sequelize');
const sequelize = new Sequelize('database', 'root', 'passwd', {
  Host: 'localhost',
  dialect: 'mysql',

    // http://docs.sequelizejs.com/manual/tutorial/querying.html#operators
  operatorsAliases: false
});
sequelize
  .authenticate()
  .then(() => {
    console.log('Connection has been established successfully.');
  })
  .catch(err => {
    console.error('Unable to connect to the database:', err);
  });

しかし、.jsを実行しようとすると、 このエラー が返されます。私はすでに多くの解決策を試してきました。その中には、私が見つけたものも含まれています より頻繁ですが、うまくいきませんでした だから今、私は何をすべきかわからない。誰か助けてくれますか?

ありがとうございました

9
ifhy
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

私のために働いた。ルートパスワードは「パスワード」に変更されます

21
Shimrit Snapir

プラグインをmysql_native_passwordに変更すると、問題が解決する場合があります!

use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';
2
Akshara

基本的に、その時点でMysql Query Browserに接続しようとしていたときに、問題に直面していました。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'

私のために働いた。 rootパスワードが「root」に変更されます

0
kuldeep kumar

誤ったパラメーターが原因であることがわかりました。

{ database: 'abc',
  username: undefined,
  password: 'efsefs',
}

ユーザー名は未定義ですが、エラーは「MySQLクライアントのアップグレードを検討してください」です。ユーザー名をtrueに変更すると、エラーが解決します。

0
Guoyong Yi