You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境Node.js连接MySQL报1045访问拒绝错误问题求助

问题描述

运行环境为Windows系统,已准确配置host、user、password、port、database等MySQL连接必填参数,发起连接时抛出如下错误:

code: 'ER_ACCESS_DENIED_ERROR',
errno: 1045,
sqlMessage: "Access denied for user 'root'@'localhost' (using password: YES)",
sqlState: '28000',
fatal: true

错误核心含义:本机root用户访问数据库被拒绝,连接请求已携带校验密码
试过多种排查方案均未解决问题:仅重装MySQL可暂时恢复正常连接,但电脑重启后错误会再次复现。

业务实现代码
const express = require('express');
const app = express();
const mysql = require('mysql');
const port = process.env.PORT || 4000;

const connection = mysql.createConnection({
host: "localhost",
user: "root",
password: "123456",
port: "3306",
database: "study01"
});
console.log(connection);
connection.connect();

app.listen(app.get('port'), () => console.log(`Listening on port ${port}`));
环境与依赖版本
MySQL服务端:5.7.38
Node.js运行环境:16.15.1
Node.js MySQL驱动包:2.18.1
Node.js Express框架:4.18.1
已尝试的解决手段
  • 修改root用户密码、创建新的数据库用户开展连接测试
  • 执行SQL语句ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';修改用户认证方式
  • 重装Node.js与npm运行环境
  • 重装MySQL服务

内容的提问来源于stack exchange,提问作者Cubite

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 09:51:43