Я создаю приложение с Node, Express и MySql. Я использую MySql версии 8.0. Я использую пакет Sequelize и MySQL2 npm для подключения к моей базе данных. У меня есть соединение с базой данных, настроенное так, как описано в документации Sequelize:
config.js
const Sequelize = require("sequelize");
module.exports = new Sequelize("call_on_me", "root", "my password", {
host: "localhost",
dialect: "mysql",
operatorAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
}
})
И я проверяю соединение в файле моего сервера следующим образом:
server.js
const db = require("./config/config");
db.authenticate()
.then(() => console.log("Database connected!"))
.catch(err => console.log("Error: " + err));
Когда я запускаю свой сервер, я получаю сообщение об ошибке, которое гласит:
Ошибка: SequelizeConnectionError: Клиент не поддерживает протокол аутентификации, запрошенный сервером;подумайте об обновлении клиента MySQL
Насколько я понимаю, 8.0 сейчас так же высоко, как и сейчас, поэтому я ничего не могу найти об этом обновлении. Это наводит меня на мысль, что в моем конфиг-соединении есть какая-то ошибка. Я что-то пропустил? Или я просто не понимаю чего-то очень базового, о чем я должен знать?
Если вам нужен еще один фрагмент кода, просто дайте мне знать.
Спасибозаранее за вашу помощь.