Rumah  >  Artikel  >  pangkalan data  >  Mengapa Sambungan MySQL Node.js Saya Membuang 'baca ECONNRESET' Selepas Masa Terbiar?

Mengapa Sambungan MySQL Node.js Saya Membuang 'baca ECONNRESET' Selepas Masa Terbiar?

DDD
DDDasal
2024-11-12 06:45:02196semak imbas

Why Does My Node.js MySQL Connection Throw

Menyelesaikan masalah "read ECONNRESET" Ralat dalam MySQL Selepas Masa Melahu Pelayan Node.js

Gambaran Keseluruhan Masalah

Apabila pelayan Node.js bersambung ke MySQL melalui node-mysql modul dan dibiarkan melahu untuk tempoh yang lama, pertanyaan berikutnya yang pertama sering mengakibatkan ralat "baca ECONNRESET". Ralat ini mencadangkan sambungan terputus antara Node dan MySQL.

Soalan dan Jawapan

1. Had Sepanjang Hayat Sambungan?

Jawapan: Ya, MySQL mempunyai pembolehubah "wait_timeout" yang memutuskan sambungan melahu selepas masa tertentu (lalai: 8 jam).

2. Pengendalian Pemutusan Sambungan yang Anggun oleh Kolam Sambungan?

Jawapan: Kolam sambungan node-mysql tidak secara automatik memangkas sambungan yang terputus. Pilihan degupan jantung atau nod-pool idleTimeoutMillis boleh digunakan untuk mengekalkan ketersediaan sambungan.

3. Menyelesaikan masalah Melampaui MySQL?

Jawapan: Walaupun ralat itu biasanya dikaitkan dengan MySQL, anda dinasihatkan untuk menolak kemungkinan punca lain seperti isu rangkaian atau kod Node.js yang mempengaruhi sambungan.

Penyelesaian

  • Lanjutkan MySQL "wait_timeout": Tingkatkan tamat masa MySQL untuk mengelakkan pemangkasan sambungan.
  • Laksanakan Degupan Jantung: Gunakan pertanyaan seperti "PILIH 1;" pada selang waktu untuk mengekalkan sambungan aktif dan mengelakkan terputus sambungan.
  • Konfigurasikan "idleTimeoutMillis" nod-pool: Pangkas sambungan melahu secara automatik menggunakan modul nod-pool.

Maklumat Tambahan

Ralat boleh juga disebabkan oleh:

  • Isu sambungan rangkaian antara Node dan pelayan MySQL.
  • Muatan tinggi atau kependaman yang memberi kesan kepada pelayan MySQL.

Atas ialah kandungan terperinci Mengapa Sambungan MySQL Node.js Saya Membuang 'baca ECONNRESET' Selepas Masa Terbiar?. 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