web-dev-qa-db-fra.com

Node.js & MySQL - Erreur: 1251 - Le client ne prend pas en charge le protocole d'authentification demandé par le serveur. envisager de mettre à niveau le client MySQL

Pour l'instant je n'ai que ce code:

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);
  });

Mais lorsque j'essaie d'exécuter le fichier .js, je reçois cette erreur . J'ai déjà essayé beaucoup de solutions, y compris celle que j'ai trouvée plus souvent mais cela n'a pas fonctionné . Donc maintenant je ne sais pas quoi faire. Quelqu'un peut m'aider?

Je vous remercie

5
ifhy

ALTER USER 'root' @ 'localhost' IDENTIFIÉ AVEC mysql_native_password BY 'password'

Travaillé pour moi le mot de passe root est changé en 'mot de passe'

10
Shimrit Snapir

En gros, lorsque j'essayais de me connecter à Mysql Query Browser à ce moment-là, j’étais confronté au problème . ALTER USER 'root' @ '' localhost 'IDENTIFIÉ AVEC mysql_native_password BY' root '

Travaillé pour moi le mot de passe root est changé en 'root'

0
kuldeep kumar

Changer le plugin en mysql_native_password pourrait résoudre le problème!

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