通过Node.js连接到MySQL

时间:2019-04-28 02:08:26

标签: mysql node.js

我正在尝试通过我在网上找到的代码使用Javascript连接到MySQL数据库:

var mysql = require('mysql');

var con = mysql.createConnection({
  host: "localhost",
  user: "yourusername",
  password: "yourpassword",
  database: "Restaurants",
  socketPath: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  var sql = "INSERT INTO customers (name, address) VALUES ('Company    
    Inc', 'Highway 37')";
  con.query(sql, function (err, result) {
  if (err) throw err;
  console.log("1 record inserted");
  });
});

根据在线建议,我向套接字添加了以下路径:

socketPath: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock'

通过终端运行此文件,出现以下错误:

Error: connect ELOOP   
/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
   at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
  at Protocol._enqueue   
    (/Users/aliaksandrnenartovich/node_modules/mysql
    /lib/protocol/Protocol.js:144:48)
  at Protocol.handshake  
    (/Users/aliaksandrnenartovich/node_modules/mysql
    /lib/protocol/Protocol.js:51:23)
  at Connection.connect (/Users/aliaksandrnenartovich/node_modules
    /mysql/lib/Connection.js:119:18)
  at Object.<anonymous>  
     (/Users/aliaksandrnenartovich/Desktop/JScript/te.js:11:5)
  at Module._compile (module.js:653:30)
  at Object.Module._extensions..js (module.js:664:10)
  at Module.load (module.js:566:32)
  at tryModuleLoad (module.js:506:12)
  at Function.Module._load (module.js:498:3)
  at Function.Module.runMain (module.js:694:10)

我已经安装了XAMPP 5.6.33-0,并且可以成功手动启动Apache服务器和MySQL数据库,但是当我尝试通过Node.js连接时,它将无法正常工作。我已经在线研究了此错误,但是关于可能发生的情况似乎信息很少。我知道这与mysql.sock文件有关,但是我不确定如何处理它。

任何建议将不胜感激。预先谢谢你!

1 个答案:

答案 0 :(得分:1)

您是否已使用某些SQL客户端(例如MySQL Workbench)使用这些凭据/参数成功连接到数据库?只是为了确保它们是正确的。