欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306的問(wèn)題

 更新時(shí)間:2017年03月09日 10:22:13   作者:天天の記事簿  
這篇文章主要介紹了解決Node.js使用MySQL出現(xiàn)connect ECONNREFUSED 127.0.0.1:3306報(bào)錯(cuò)的相關(guān)資料,文中將問(wèn)題描述的很清楚,解決的方法也介紹的很完整,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。

前言

最近用 Node 寫一個(gè)小玩意,需要用到 MySQL 數(shù)據(jù)庫(kù),現(xiàn)在用得最廣泛的是 mysql 這個(gè)庫(kù)。然后呢,現(xiàn)在 ORM 這么火,干脆也上 ORM 吧,正好我也不會(huì)可以學(xué)習(xí)一下,于是找到了 Sequelize.js 這個(gè) ORM 庫(kù)。

發(fā)現(xiàn)問(wèn)題

看看 Sequelize 的文檔,so easy,兩分鐘搞定~

import Sequelize from 'sequelize';
let sequelize = new Sequelize('database', 'username', 'password', {
 host: 'localhost',
 port: 3306,
 dialect: 'mysql',
 pool: {
  max: 5,
  min: 0,
  idle: 10000
 }
});
// ...后面還有一堆懶得貼了

運(yùn)行一下

SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

什么鬼,為什么會(huì)出現(xiàn)這個(gè)錯(cuò)誤呢?我明明設(shè)置的是 localhost,為什么會(huì)變成 127.0.0.1?

解決問(wèn)題

照例先谷歌,確實(shí)發(fā)現(xiàn)了很多人也遇到了這個(gè)問(wèn)題,解決方法大概有這么幾種:

     1、你丫以為不用裝 MySQL 就能跑了么?快去裝數(shù)據(jù)庫(kù)!

     2、你數(shù)據(jù)庫(kù)運(yùn)行了么你?趕緊 /etc/init.d/mysqld start 運(yùn)行起來(lái)

     3、端口寫錯(cuò)了

     4、你是不是開啟了 skip-networking 這個(gè)選項(xiàng)?Remove it !

看到這里,我反應(yīng)過(guò)來(lái)了,因?yàn)槲业臄?shù)據(jù)庫(kù)不涉及到遠(yuǎn)程訪問(wèn),只要使用 Unix socket 通信就夠了,于是就啟用了 skip-networking 讓 MySQL 不監(jiān)聽指定端口。

先科普一下 skip-networking 是什么

Do not listen for TCP/IP connections at all. All interaction with mysqld must be made using named pipes or shared memory (on Windows) or Unix socket files (on Unix). This option is highly recommended for systems where only local clients are permitted.

翻譯一下就是:

不要監(jiān)聽 TCP/IP 連接。所有與 mysqld 的交互必須使用命名管道或共享內(nèi)存(在 Windows 上)或 Unix socket 文件(在 Unix 上)。強(qiáng)烈建議對(duì)只允許本地客戶端的系統(tǒng)使用此選項(xiàng)。

來(lái)源

但是為了安全性,我并不想把這個(gè)選擇給移除,難道只好忍痛不用 ORM 了嗎?

因?yàn)榭戳宋臋n,mysql 這個(gè)連接庫(kù)是可以使用 socketPath 這個(gè)屬性指定 Unix 套接字文件,但是 Sequelize.js 沒(méi)發(fā)現(xiàn)有關(guān)屬性。

最后只好發(fā) issue,不久就有 dalao 回答說(shuō)可以用 dialectOptions 設(shè)置 mysql 的屬性。

下面是測(cè)試成功的代碼:

import Sequelize from 'sequelize';
let sequelize = new Sequelize('database', 'username', 'password', {
 host: 'localhost',
 port: 3306,
 dialect: 'mysql',
 dialectOptions: {
  socketPath: '/tmp/mysql.sock' // 指定套接字文件路徑
 }
 pool: {
  max: 5,
  min: 0,
  idle: 10000
 }
});

就是這么簡(jiǎn)單…

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • node.js中的fs.readFile方法使用說(shuō)明

    node.js中的fs.readFile方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.readFile方法使用說(shuō)明,本文介紹了fs.readFile的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node.js中格式化數(shù)字增加千位符的幾種方法

    node.js中格式化數(shù)字增加千位符的幾種方法

    這篇文章主要介紹了node.js中格式化數(shù)字增加千位符的幾種方法,本文給出3種實(shí)現(xiàn)方法,并分別給出實(shí)例代碼,需要的朋友可以參考下
    2015-07-07
  • 用Node.JS打造一個(gè)惡劣天氣實(shí)時(shí)預(yù)警系統(tǒng)

    用Node.JS打造一個(gè)惡劣天氣實(shí)時(shí)預(yù)警系統(tǒng)

    本文將從實(shí)戰(zhàn)的角度出發(fā),利用NodeJS以及聚合數(shù)據(jù)的第三方免費(fèi)接口打造一個(gè)完整的天氣實(shí)時(shí)預(yù)警項(xiàng)目系統(tǒng),具有一定的參考價(jià)值,感興趣的可以了解一下
    2021-12-12
  • nodejs中sleep功能實(shí)現(xiàn)暫停幾秒的方法

    nodejs中sleep功能實(shí)現(xiàn)暫停幾秒的方法

    本篇文章主要介紹了nodejs中sleep功能實(shí)現(xiàn)暫停幾秒的方法,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-07-07
  • 使用NestJS開發(fā)Node.js應(yīng)用的方法

    使用NestJS開發(fā)Node.js應(yīng)用的方法

    這篇文章主要介紹了使用NestJS開發(fā)Node.js應(yīng)用的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • node使用mysql獲取數(shù)據(jù)庫(kù)數(shù)據(jù)中文亂碼問(wèn)題的解決

    node使用mysql獲取數(shù)據(jù)庫(kù)數(shù)據(jù)中文亂碼問(wèn)題的解決

    這篇文章主要介紹了node使用mysql獲取數(shù)據(jù)庫(kù)數(shù)據(jù)中文亂碼問(wèn)題的解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 解決node修改后需頻繁手動(dòng)重啟的問(wèn)題

    解決node修改后需頻繁手動(dòng)重啟的問(wèn)題

    今天小編就為大家分享一篇解決node修改后需頻繁手動(dòng)重啟的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作示例

    node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作示例

    這篇文章主要介紹了node.js使用zlib模塊進(jìn)行數(shù)據(jù)壓縮和解壓操作,結(jié)合實(shí)例形式詳細(xì)分析了node.js基于zlib模塊創(chuàng)建數(shù)據(jù)流以及壓縮和解壓縮等相關(guān)操作技巧,需要的朋友可以參考下
    2020-02-02
  • node使用request請(qǐng)求的方法

    node使用request請(qǐng)求的方法

    這篇文章主要介紹了node使用request請(qǐng)求的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 如何使用npm安裝yarn詳解

    如何使用npm安裝yarn詳解

    Yarn是一個(gè)新的快速安全可信賴的可以替代NPM的依賴管理工具,下面這篇文章主要給大家介紹了關(guān)于如何使用npm安裝yarn的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09

最新評(píng)論