Доступ Отклонен Sequelize MysqlStore для sessions
Я хочу сохранять сессии в Mysql.
Подключение к Mysql в Node приложении происходит с помощью sequielize. Операции CRUD с бд выполняются, но как только добавляю express-mysql-session, приложение выдает ошибку:
Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using password: NO)...
Понять не могу, почему user ''@'localhost' в кавычка после user пусто
Файл db.js
const {Sequelize} = require('sequelize')
module.exports = new Sequelize(
process.env.DB_NAME, // Название БД
process.env.DB_USER, // Пользователь
process.env.DB_PASSWORD, // ПАРОЛЬ
{
dialect: process.env.DIALECT,
host: process.env.DB_HOST,
port: process.env.DB_PORT
}
)
Файл server.js
require('dotenv').config()
const sequelize = require('./db')
const express = require('express')
const session = require('express-session')
var MySQLStore = require('express-mysql-session')(session);
const cors = require('cors')
const fileUpload = require('express-fileupload')
const path = require('path')
const exphbs = require('express-handlebars')
const models = require('./models/models')
const router = require('./routes/router')
const slug = require('slug')
const hbs = exphbs.create({
defaultLayout: false,
extname: 'hbs',
layoutsDir: 'public/view/',
partialsDir: ['public/view/admin/partials','public/view/client/partials']
})
const app = express()
const PORT = process.env.PORT || 3000
app.engine('hbs', hbs.engine)
app.set('view engine', 'hbs')
app.set('views', path.join(__dirname, '../public/view'))
sessionStore = new MySQLStore(sequelize);
app.use(session({
secret: process.env.SECRET_KEY,
resave: false,
saveUninitialized: true,
store: sessionStore
}));
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(cors())
app.use(express.json())
app.use('/public', express.static('public'))
app.use(express.static(path.resolve(__dirname, 'public/assets')))
app.use(fileUpload({}))
app.use('/', router)
//====Starting server====//
const start = async () => {
try {
await sequelize.authenticate()
await sequelize.sync()
console.log('Соединение с БД было успешно установлено')
//await sequelize.sync({force: false, alter: true})
app.listen(PORT, () => console.log(`Server started on port ${PORT}`))
} catch (e) {
console.log(e)
}
}
start()
Файл .env
DIALECT = mysql
DB_NAME = eshop
DB_USER = root
DB_PASSWORD = ""
DB_HOST = localhost
DB_PORT = 3306
PORT = 3000
SECRET_KEY = random_secret_key123