Rumah >pangkalan data >tutorial mysql >Node.js MySQL ECONNREFUSED Ralat: Bagaimana untuk Menyambung Menggunakan Soket Unix?

Node.js MySQL ECONNREFUSED Ralat: Bagaimana untuk Menyambung Menggunakan Soket Unix?

Susan Sarandon
Susan Sarandonasal
2024-12-03 11:34:12856semak imbas

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

Node.js MySQL: Menyelesaikan Ralat "ECONNREFUSED" Semasa Menyambung

Apabila cuba menyambung ke pelayan MySQL melalui Node.js, menghadapi ralat "ECONNREFUSED" boleh membingungkan, terutamanya apabila pelayan PHP/Apache pada mesin yang sama beroperasi tanpa sebarang isu.

Mari kita siasat punca ralat ini dan sediakan penyelesaian yang telah berjaya.

Cabaran

Dalam kod yang disediakan coretan, hos MySQL ditakrifkan sebagai 'localhost', manakala pelayan MySQL pada mesin mendengar pada soket Unix '/var/run/mysqld/mysqld.sock' dan bukannya port TCP standard. Ketidakpadanan ini mengakibatkan ralat "ECONNREFUSED" apabila aplikasi Node.js cuba menyambung menggunakan TCP.

Penyelesaian

Untuk menyelesaikan isu ini, kami perlu mengubah suai pilihan sambungan untuk menentukan laluan soket Unix dan bukannya port TCP. Ini boleh dicapai dengan menambah baris berikut pada pilihan sambungan:

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

Kod Kemas Kini

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

Kesimpulan

Dengan menyatakan pilihan sambungan yang betul, kami boleh memastikan bahawa aplikasi Node.js dapat mewujudkan sambungan yang berjaya ke pelayan MySQL dan meneruskan operasinya dengan lancar. Adalah penting untuk mengesahkan konfigurasi pelayan MySQL dan menggunakan parameter sambungan yang sesuai untuk mengelak daripada menghadapi ralat sedemikian pada masa hadapan.

Atas ialah kandungan terperinci Node.js MySQL ECONNREFUSED Ralat: Bagaimana untuk Menyambung Menggunakan Soket Unix?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn