Jadi, Anda memiliki
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Kegagalan tautan komunikasi
java.net.ConnectException:Sambungan ditolak
Saya mengutip dari jawaban ini yang juga berisi tutorial MySQL+JDBC langkah demi langkah:
Jika Anda mendapatkan
SQLException: Connection refused
atauConnection timed out
atauCommunicationsException: Communications link failure
khusus MySQL , maka itu berarti DB tidak dapat dijangkau sama sekali. Ini dapat memiliki satu atau beberapa penyebab berikut:
- Alamat IP atau nama host di URL JDBC salah.
- Nama host di URL JDBC tidak dikenali oleh server DNS lokal.
- Nomor port tidak ada atau salah di URL JDBC.
- Server DB mati.
- Server DB tidak menerima koneksi TCP/IP.
- Server DB kehabisan koneksi.
- Sesuatu di antara Java dan DB memblokir koneksi, mis. firewall atau proxy.
Untuk memecahkan satu atau yang lain, ikuti saran berikut:
- Verifikasi dan uji dengan
ping
.- Segarkan DNS atau gunakan alamat IP di URL JDBC.
- Verifikasi berdasarkan
my.cnf
dari MySQL DB.- Mulai DB.
- Verifikasi apakah mysqld dimulai tanpa
--skip-networking option
.- Mulai ulang DB dan perbaiki kode Anda sehingga menutup koneksi di
finally
.- Nonaktifkan firewall dan/atau konfigurasikan firewall/proxy untuk mengizinkan/meneruskan port.
Lihat juga:
- Bagaimana saya harus terhubung ke database / sumber data JDBC dalam aplikasi berbasis servlet?
- Apakah aman menggunakan instance java.sql.Connection statis dalam sistem multithreaded?