javascript - 如何修复“用户 \'root\'@\'localhost\' 的访问被拒绝,错误号 1045
问题描述
我正在将 MySQL 数据库连接到我的 NODEJS 应用程序。每次启动服务器时都会出现错误,使用密码 YES 拒绝用户 'root'@'localhost' 的访问,错误号 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 文件或连接到数据库。
实际结果是发生错误:'Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: YES)' 但服务器运行!并执行“app.listen()”函数。
解决方案
当用户没有数据库权限(不太可能是 root 和 localhost)或密码错误时,会输出错误 #1045。listen
无论如何都会调用该事件,此流程的结构方式失败的数据库连接只会引发错误,它不会停止服务器。
在搜索更深层次的问题之前,您可以尝试重置您的 root 密码(如果可能,从终端)。
推荐阅读
- excel - 设置多个变量以避免 div/0 错误
- r - 如何将分类列值转换为列名
- ios - 如何更改跟踪权限请求警报语言?
- flutter - 尽管使用 Provider 包在 notifyListeners 之后调用了消费者,但值未更新
- python - 如何让我使用 Pandas (python) 创建的 .xlsx 文件保存到不同的文件位置?
- c# - 使用 MVC 的实体框架代码优先:RuntimeBinder 异常错误
- html - 如何使文本直接出现在以 2x2 网格组织的图像下方?
- python-3.x - 我正在尝试os.walk。并创建一个进入 excel 的数据框
- android-studio - 突然间,Android Studio 调试器不会在断点处停止。怎么解决?
- python - 使用漂亮的汤进行 Web 解析