Я подключаю базу данных MySQL к своему приложению NODEJS.при каждом запуске сервера возникает ошибка. Доступ запрещен для пользователя 'root' @ 'localhost' с использованием пароля YES, номер ошибки 1045
Я обнаружил, что многие разработчики задавали один и тот же вопрос,но ни у одного из них не было одинакового ответа, и я сделал все, что нашел.Я попытался разорвать соединение, перезапустить phpMyAdmin, удалить пользователей и базы данных с одинаковыми именами хостов.Версии node, express, mysql, mysqljs являются последними версиями.И около 6 часов искал код, пытающийся найти любую синтаксическую ошибку в js или sql.
const http = require('http');
const express = require('express');
const path = require('path');
const mysql = require('mysql');
const port = process.env.port || 3000;
const db = mysql.createConnection({
host: 'localhost',
user: 'root',
password: '123456',
database: 'nodemysql'
//port: port
});
db.connect((err) => {
if (err) {
console.log('error when connecting to db:', err);
throw err;
}
console.log('MySql is Connected');
});
const app = express();
app.get('/profile', (req, res) => {
console.log(result);
res.sendFile(path.join(__dirname + '/profile.html'));
});
app.get('/createdb', (req, res) => {
let sql = 'CREATE DATABASE nodemysql';
db.query(sql, (err, result) => {
if (err) {
throw err;
}
})
});
//app.use(express.json());
app.listen(port, () => console.log(`listening on port ${port}...`));
, а package.json выглядит так:
{
"name": "community",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Omar AbdelFattah",
"license": "ISC",
"dependencies": {
"express": "^4.16.4",
"mysql": "^2.17.1",
"mysqljs": "0.0.2-security"
}
}
Ожидаемый результатесли я запустил 'nodemon app.js' или 'node app' или что-то еще, в терминале сервер запустится, а затем я использую одну из двух конечных точек, чтобы открыть отображение файла HTML или подключиться к базе данных.
Фактические результаты: возникает ошибка: «Ошибка: ER_ACCESS_DENIED_ERROR: доступ запрещен для пользователя« root »@« localhost »(с использованием пароля: ДА)« НО сервер работает!и выполняется функция app.listen ().