npm mysql enoent_錯誤connect node.js中的ENOENT /var/run/mysqld/mysqld.sock

我沒有問題,通過PHP或Navicat正常連接到MySQL。

,但我試圖連接到它Node.js,我得到錯誤「Error connecting to MySQL: Error: connect ECONNREFUSED 127.0.0.1:3306」

從我的周圍搜索明白看來我需要設置套接字路徑

但當我這樣做時,我得到的錯誤「Error connecting to MySQL: Error: connect ENOENT /var/run/mysqld/mysqld.sock」

我100%確定這是正確的套接字路徑。我已經SSH進入vagrant並驗證mysqld.sock實際上是否存在,並且已在/etc/mysql/my.cnf中正確設置。跳過網絡也關閉。

我也嘗試將綁定地址設置爲0.0.0.0,並完全註釋掉綁定地址,重命名mysqld.sock並重新啓動mysql服務器,以便它再次重新創建mysqld.sock。還嘗試禁用我的防火牆(無論如何都允許node.js)並重新安裝MySQL。

這都不是工作和錯誤仍然是相同的:「Error connecting to MySQL: Error: connect ENOENT /var/run/mysqld/mysqld.sock」

這是我到目前爲止的代碼:

var mysql = require('mysql');

var connection = mysql.createConnection({

host : 'localhost',

user : 'root',

password : 'root',

database : 'test',

socketPath : '/var/run/mysqld/mysqld.sock'

});

connection.connect(function(err) {

if (err) {

console.error('Error connecting to MySQL: ' + err.stack);

return;

}

console.log('connected as id ' + connection.threadId);

});

我該如何解決這個問題?

2016-11-06

J Del

+0

不應該將'socketPath'路徑設置爲:''/ var/lib/mysqld/mysqld.sock'而不是'/ var/run/mysqld/mysqld.sock'? –

+0

我看到我粘貼了錯誤的錯誤。本來我認爲它是/ var/lib,然後我將它確認爲/ var/run /。要100%清除,我現在得到的錯誤是'錯誤:連接ENOENT/var/run/mysqld/mysqld.sock''。對困惑感到抱歉。 –

+0

我使用'sudo find/-type s'搜索scotchbox機器上的mysql套接字,似乎套接字位於'/ run/mysqld/mysqld.sock' –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值