首頁 >資料庫 >mysql教程 >Node.js MySQL ECONNREFUSED 錯誤:如何使用 Unix 套接字進行連線?

Node.js MySQL ECONNREFUSED 錯誤:如何使用 Unix 套接字進行連線?

Susan Sarandon
Susan Sarandon原創
2024-12-03 11:34:12853瀏覽

Node.js MySQL ECONNREFUSED Error: How to Connect Using a Unix Socket?

Node.js MySQL:解決連線時的「ECONNREFUSED」錯誤

嘗試透過Node.js 連接到MySQL 伺服器時,遇到「ECONNREFUSED」錯誤可能會令人困惑,特別是當同一台機器上的PHP/Apache伺服器在沒有任何服務的情況下運行時問題。

讓我們調查此錯誤的原因並提供成功的解決方案。

挑戰

在提供的程式碼片段中, MySQL 主機被定義為“localhost”,而機器上的MySQL 伺服器會偵聽Unix 套接字“/var /run/mysqld/mysqld.sock」而不是標準的TCP 連接埠。當 Node.js 應用程式嘗試使用 TCP 連線時,這種不匹配會導致「ECONNREFUSED」錯誤。

解決方案

要解決此問題,我們需要修改連線選項指定 Unix 套接字路徑而不是 TCP 連接埠。這可以透過將以下行新增至連線選項:

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

更新的程式碼

var mysql_link = {
  host: 'localhost',
  port: '/var/run/mysqld/mysqld.sock', // Modified to specify Unix socket path.
  database: 'nodetest',
  user: 'root',
  password: 'xxx'
};

結論

結論 透過指定正確的連接選項,我們可以確保Node.js 應用程式能夠與MySQL 伺服器並繼續無縫運行。驗證 MySQL 伺服器的配置並使用適當的連線參數非常重要,以避免將來遇到此類錯誤。

以上是Node.js MySQL ECONNREFUSED 錯誤:如何使用 Unix 套接字進行連線?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn