Lors de l'utilisation de node pour se connecter à la base de données mysql aujourd'hui, j'ai écrit le code suivant ;
const mysql = require('mysql');
const db = mysql.createPool({
host: 'localhost',
user: 'root',
password: '123456',
database: 'test01'
})
db.query('SELECT 1', (err, res) => {
console.log(err)
console.log(res)
})
Puis lors de l'exécution, une erreur est signalée, le message d'erreur :
'Client does not support authentication protocol requested by server; consider upgrading MySQL client
Puis il y a les petits yeux, la grande confusion. . . Trouvez la cause du problème à la fois;
Mysql version 8.0 et supérieure a remplacé une nouvelle méthode d'authentification par mot de passe et le client du nœud ne prend pas en charge la nouvelle méthode d'authentification
Solution:
Pour installer mysql2, exécutez la commande :
npm install --save mysql2
const mysql = require('mysql2');
Exécutez à nouveau le projet :