Apabila cuba menyambung ke pelayan MySQL menggunakan Node.js, anda mungkin menghadapi perkara berikut ralat:
{ [Error: connect ECONNREFUSED] ... }
Ralat ini menunjukkan bahawa pelayan tidak dapat dicapai, walaupun pelayan boleh diakses daripada aplikasi lain, seperti pelayan Apache/PHP yang berjalan pada mesin yang sama.
Untuk menyelesaikan isu ini, pertimbangkan perkara berikut:
Pastikan tetapan sambungan yang diberikan kepada fungsi createConnection MySQL adalah betul. Semak semula hos, port, nama pangkalan data, nama pengguna dan kata laluan.
Secara lalai, MySQL mendengar pada soket Unix sebaliknya daripada soket TCP. Jika anda menggunakan soket Unix, anda harus menentukan laluan soket dalam pilihan sambungan:
port: '/var/run/mysqld/mysqld.sock'
Sahkan bahawa tembok api pelayan adalah tidak menyekat sambungan pada port yang ditentukan (3308 dalam kes ini). Pastikan port dibuka dan boleh diakses.
Semak status pelayan MySQL untuk memastikan ia berjalan dan menerima sambungan. Anda boleh menggunakan arahan berikut:
ps ax | grep mysqld
Ini harus menyenaraikan proses MySQL yang sedang berjalan.
Pastikan bahawa terdapat tiada isu rangkaian yang menghalang aplikasi Node.js daripada berkomunikasi dengan pelayan MySQL. Semak tetapan rangkaian dan peraturan tembok api.
Dengan menangani isu yang berpotensi ini, anda seharusnya dapat menyambung ke pelayan MySQL daripada aplikasi Node.js anda dan membetulkan ralat ECONNREFUSED.
Atas ialah kandungan terperinci Mengapakah aplikasi Node.js saya mendapat ralat ECONNREFUSED apabila menyambung ke MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!