Rumah > pangkalan data > tutorial mysql > Mengapakah pelayan Node.js saya kehilangan sambungan MySQLnya selepas melahu?

Mengapakah pelayan Node.js saya kehilangan sambungan MySQLnya selepas melahu?

Barbara Streisand
Lepaskan: 2024-11-13 01:08:02
asal
785 orang telah melayarinya

Why does my Node.js server lose its MySQL connection after being idle?

MySQL Terputus Sambungan Selepas Masa Terbiar Pelayan Node.js: Menentukan Punca dan Menyelesaikan Dengan Anggun

Pembangun Node.js sering menghadapi "baca ECONNRESET " ralat apabila menggunakan modul nod-mysql untuk menyambung ke MySQL. Ralat ini biasanya berlaku selepas pelayan Node melahu untuk tempoh masa tertentu.

Menentukan Punca

Ralat ini menunjukkan bahawa sambungan antara Node dan MySQL mempunyai telah terputus. MySQL mempunyai had seumur hidup sambungan lalai, yang boleh dikonfigurasikan melalui pembolehubah "wait_timeout". Nilai lalai ialah 8 jam. Jika masa melahu melebihi had ini, MySQL akan memangkas sambungan.

Mengatasi Isu

Untuk menyelesaikan isu ini, dua pendekatan boleh diambil:

  1. Tingkatkan Had Sepanjang Hayat Sambungan MySQL:

    • Tingkatkan pembolehubah "wait_timeout" kepada nilai yang lebih tinggi, seperti 28800 saat (8 jam). Ini akan memanjangkan hayat sambungan dan mengelakkan pemutusan sambungan disebabkan oleh masa melahu.
  2. Gunakan Modul Denyutan Jantung atau Nod-Pool:

    • Gunakan pertanyaan degupan jantung (cth., "PILIH 1;") untuk memastikan sambungan hidup secara berkala.
    • Gunakan modul nod-pool dengan pilihan "idleTimeoutMillis" untuk mengalih keluar sambungan terbiar secara automatik daripada kolam.

Pertimbangan Lanjut

Walaupun faktor lain, seperti pangkalan data atau isu rangkaian, mungkin turut menyumbang kepada ralat "baca ECONNRESET", meningkatkan had hayat sambungan MySQL atau melaksanakan mekanisme degupan jantung dengan nod-pool harus menyelesaikan masalah dalam kebanyakan kes. Jika ralat berterusan, pertimbangkan untuk menyelesaikan masalah kemungkinan punca lain.

Atas ialah kandungan terperinci Mengapakah pelayan Node.js saya kehilangan sambungan MySQLnya selepas melahu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan