MySQL "read ECONNRESET" Ralat dalam Node.js Selepas Masa Terbiar
Apabila menyambung ke MySQL melalui modul node-mysql, anda boleh menghadapi ralat "baca ECONNRESET" selepas meninggalkan pelayan melahu untuk tempoh yang berpanjangan. Ralat ini menunjukkan tetapan semula sambungan, mungkin disebabkan oleh mekanisme pemangkasan sambungan terbiar MySQL.
Mendiagnosis Isu:
-
Pemutus Sambungan: Ralat mencadangkan pemutusan sambungan antara sambungan Node dan pelayan MySQL. Ini mungkin disebabkan oleh tetapan "wait_timeout" pembolehubah MySQL, yang lalai kepada 8 jam.
-
Isu Kolam Sambungan: Node-mysql menggunakan kumpulan sambungan untuk mengendalikan pemutusan sambungan dan mengalih keluar sambungan yang tidak aktif. Walau bagaimanapun, ia mungkin tidak dapat memangkas sambungan yang terputus sehingga anda membuat pertanyaan, yang mencetuskan ralat.
-
Faktor Luaran: Walaupun ralat "baca ECONNRESET" sering dikaitkan dengan MySQL , pertimbangkan untuk menyemak sebarang faktor luaran yang berpotensi yang menyumbang kepada kehilangan sambungan.
Menyelesaikan Ralat:
-
Tingkatkan Masa Tunggu: Tetapkan pembolehubah "wait_timeout" MySQL kepada tempoh yang lebih lama, seperti 28,800 saat (8 jam). Ini membolehkan tempoh tidak aktif yang lebih lama tanpa terputus sambungan.
-
Gunakan Pemangkasan Kolam: Laksanakan mekanisme degupan jantung dalam kod anda untuk menghantar SELECT 1 secara berkala; pertanyaan kepada pangkalan data, memastikan sambungan hidup.
-
Tekankan Tamat Masa Melahu: Gunakan pilihan MelahuMillis modul nod-kolam untuk memangkas sambungan melahu secara automatik, mengelakkan isu daripada timbul.
Atas ialah kandungan terperinci Mengapa saya mendapat ralat 'baca ECONNRESET' dalam Node.js selepas sambungan MySQL melahu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!