首页 > 解决方案 > 无法从 NodeJS 连接到 MySQL

问题描述

我收到此错误,但没有一个解决方案对我有用

Error: ER_ACCESS_DENIED_ERROR: Access denied for user ''@'localhost' (using password: YES)

我尝试了在线发布的解决方案,但没有奏效。我可以用 Python 连接到我的服务器,但不能在 NodeJS 中连接,尽管安装了 MySQL 模块。

var con = mysql.createConnection({host: "localhost", port: 3306, username: "root", password: "password", database: "activity"})

由于某种原因,错误消息没有显示用户'root'@'localhost',而是一个空用户。我不知道为什么这不起作用,因为我可以在 python 中连接到我的数据库。我已经尝试过刷新权限和其他在线发布的解决方案,但没有任何效果。MySQL 服务器确实在端口 3306 上运行

标签: mysqlnode.js

解决方案


var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "root",
  password: "password",
  database: "activity"
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "CREATE TABLE customers (name VARCHAR(255), address VARCHAR(255))";
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Table created");
  });
});

推荐阅读