Mysql Node.js:拒绝用户访问';根'@';本地主机';(使用密码:否)

Mysql Node.js:拒绝用户访问';根'@';本地主机';(使用密码:否),mysql,node.js,Mysql,Node.js,我在将node.js应用程序与mysql数据库连接时遇到问题。我得到的错误如下: Access denied for user 'root'@'localhost' (using password: NO) 我做了一些挖掘,发现了以下连接测试: 第一个代码: mysql -u root -p -h 127.0.0.1 -P 3306 我测试了上面的代码,它会提示出密码,并给我访问它的权限 第二个代码: mysql -u root -p -h > localhost -P 3306 我

我在将node.js应用程序与mysql数据库连接时遇到问题。我得到的错误如下:

Access denied for user 'root'@'localhost' (using password: NO)
我做了一些挖掘,发现了以下连接测试:

第一个代码:

mysql -u root -p -h 127.0.0.1 -P 3306
我测试了上面的代码,它会提示出密码,并给我访问它的权限

第二个代码:

mysql -u root -p -h > localhost -P 3306
我测试了上面的代码,得到了一个访问被拒绝的消息

根据我的理解,如果我错了,请纠正我,localhost==127.0.0.1。那么,由于它们是相同的,其中一个无法访问的原因是什么呢

请帮帮我。我已经被困在这个问题上好几个小时了。谢谢你抽出时间

My node.js登录代码(未完成):

main node.js:

var express = require('express');
var bodyParser = require('body-parser');
var flash = require('connect-flash');
var session = require('express-session'),
    morgan = require('morgan'),
    sequelize = require('sequelize'),
    passport = require('passport'),
    jwt = require('jsonwebtoken');
    util = require('util');
    mysql = require('mysql');
    cookieParser = require('cookie-parser');
var app = express();
require('./controllers/user')(passport);

var compController = require('./controllers/compController');
var patController = require('./controllers/patController');
var taskController = require('./controllers/taskController');
var loginController = require('./controllers/loginController');
var staffController = require('./controllers/staffController');
var checkController = require('./controllers/checkController');
var repController = require('./controllers/repController');
var homeController = require('./controllers/homeController');
var noticeController = require('./controllers/noticeController');

app.set('view engine', 'ejs');
app.use('/assets', express.static('assets'));
app.use('/js', express.static('js'));
app.set('views', __dirname + '/views');
app.use(bodyParser.urlencoded({ extended:true }));
app.use(bodyParser.json());
app.use(session({ cookie: { maxAge: 60000 }, secret: 'sarah', resave: true, saveUninitialized: true}))
app.use(flash());
app.use(morgan('dev'));
app.use(cookieParser());
app.use(passport.initialize());
app.use(passport.session());

// require('./controllers/loginController')(app,passport);

compController(app);
patController(app);
taskController(app);
staffController(app);
checkController(app);
repController(app);
homeController(app);
loginController(app);
noticeController(app);

// app.use((req,res,next) => {
//   var err = new Error('Page not found');
//   err.status = 404;
//   next(err);
// });

// app.use((err,req,res,next) => {
//   res.status(err.status || 500);
//   res.send(err.message);
// })

app.listen(3003, 'localhost', function(){
  console.log("Working");
});

@num8er我已经将node.js代码放在问题中了。感谢您的帮助尝试
host:'127.0.0.1'
mysql的原因
localhost
127.0.0.1
mysql.user
表中是不同的记录,它负责db用户信任。@num8er问题仍然在发生。我应该怎么做?也试试这个:
const connection=mysql.createConnection('mysql://root:9%40v62STH9J@127.0.0.1:3306/fyp')正如我从创建连接的代码中看到的,它是正确的。我认为您的代码中还有其他地方未在连接中传递密码。否则它需要调试,因为它必须按照您已经完成的方式工作。
var express = require('express');
var bodyParser = require('body-parser');
var flash = require('connect-flash');
var session = require('express-session'),
    morgan = require('morgan'),
    sequelize = require('sequelize'),
    passport = require('passport'),
    jwt = require('jsonwebtoken');
    util = require('util');
    mysql = require('mysql');
    cookieParser = require('cookie-parser');
var app = express();
require('./controllers/user')(passport);

var compController = require('./controllers/compController');
var patController = require('./controllers/patController');
var taskController = require('./controllers/taskController');
var loginController = require('./controllers/loginController');
var staffController = require('./controllers/staffController');
var checkController = require('./controllers/checkController');
var repController = require('./controllers/repController');
var homeController = require('./controllers/homeController');
var noticeController = require('./controllers/noticeController');

app.set('view engine', 'ejs');
app.use('/assets', express.static('assets'));
app.use('/js', express.static('js'));
app.set('views', __dirname + '/views');
app.use(bodyParser.urlencoded({ extended:true }));
app.use(bodyParser.json());
app.use(session({ cookie: { maxAge: 60000 }, secret: 'sarah', resave: true, saveUninitialized: true}))
app.use(flash());
app.use(morgan('dev'));
app.use(cookieParser());
app.use(passport.initialize());
app.use(passport.session());

// require('./controllers/loginController')(app,passport);

compController(app);
patController(app);
taskController(app);
staffController(app);
checkController(app);
repController(app);
homeController(app);
loginController(app);
noticeController(app);

// app.use((req,res,next) => {
//   var err = new Error('Page not found');
//   err.status = 404;
//   next(err);
// });

// app.use((err,req,res,next) => {
//   res.status(err.status || 500);
//   res.send(err.message);
// })

app.listen(3003, 'localhost', function(){
  console.log("Working");
});