91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中使用MySQL時出現connect ECONNREFUSED 127.0.0.1:3306報錯如何解決

發布時間:2021-07-21 10:19:49 來源:億速云 閱讀:1019 作者:Leah 欄目:web開發

Node.js中使用MySQL時出現connect ECONNREFUSED 127.0.0.1:3306報錯如何解決,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

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

運行一下

SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

什么鬼,為什么會出現這個錯誤呢?我明明設置的是 localhost,為什么會變成 127.0.0.1?

解決問題

照例先谷歌,確實發現了很多人也遇到了這個問題,解決方法大概有這么幾種:

     1、你丫以為不用裝 MySQL 就能跑了么?快去裝數據庫!

     2、你數據庫運行了么你?趕緊 /etc/init.d/mysqld start 運行起來

     3、端口寫錯了

     4、你是不是開啟了 skip-networking 這個選項?Remove it !

看到這里,我反應過來了,因為我的數據庫不涉及到遠程訪問,只要使用 Unix socket 通信就夠了,于是就啟用了 skip-networking 讓 MySQL 不監聽指定端口。

先科普一下 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.

翻譯一下就是:

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

來源

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

因為看了文檔,mysql 這個連接庫是可以使用 socketPath 這個屬性指定 Unix 套接字文件,但是 Sequelize.js 沒發現有關屬性。

最后只好發 issue,不久就有 dalao 回答說可以用 dialectOptions 設置 mysql 的屬性。

下面是測試成功的代碼:

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
 }
});

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金乡县| 武山县| 黄梅县| 渝中区| 土默特左旗| 汉川市| 博白县| 万宁市| 宁陵县| 营口市| 雷山县| 博罗县| 阜平县| 渑池县| 荃湾区| 新昌县| 南华县| 宁德市| 巴中市| 铁力市| 五大连池市| 阜康市| 盖州市| 寻乌县| 孝昌县| 江永县| 壤塘县| 四会市| 电白县| 洛阳市| 嵊泗县| 资溪县| 吕梁市| 珲春市| 神农架林区| 永善县| 阳信县| 化隆| 甘肃省| 资中县| 西平县|