Java Database Connectivity (JDBC) adalah Java API yang memungkinkan Anda mengakses dan menjalankan kueri dan perintah pada database.
Artikel ini menjelaskan beberapa langkah untuk memecahkan masalah com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
kesalahan, yang terjadi saat Anda mencoba menyambung ke database menggunakan JDBC.
Communications link failure
kesalahan terjadi ketika database tidak dapat dijangkau. Berikut adalah kemungkinan penyebab dan solusinya:
Alamat IP atau nama host di URL JDBC salah.
Verifikasi dan uji bahwa nama host atau alamat IP dapat menjawab kembali dengan menggunakanping
.
Server DNS lokal tidak mengenali nama host di URL JDBC
Refresh DNS Anda atau gunakan alamat IP di URL JDBC sebagai gantinya.
Nomor port tidak ada atau salah di URL JDBC
Verifikasi bahwa IP dikonfigurasi dengan baik di database MySQL® my.cnf file dengan menggunakan editor teks favorit Anda.
Untuk menemukan my.cnf file, jalankan perintah berikut untuk memeriksa pengaturan MySQL Anda:
mysql --help | grep "Default options" -A 1
Jika Anda masih tidak dapat menemukan file tersebut, coba jalankan perintah berikut:
find / -name my.cnf
Anda juga dapat melihat di lokasi default:
- /etc/my.cnf
- /etc/mysql/my.cnf
- /usr/etc/my.cnf
- ~/.my.cnf
Server database tidak menerima koneksi TCP/IP
Verifikasi bahwa mysqld
layanan sedang berjalan. Untuk memverifikasi status mysqld
service, jalankan perintah berikut sesuai dengan distribusi Linux® Anda:
Untuk CentOS® 6 atau Red Hat® Enterprise Linux® (RHEL) 6:
service mariadb status
Untuk CentOS 7+ atau RHEL 7+:
systemctl status mariadb.service
Untuk sistem operasi Ubuntu®:
/etc/init.d/mysql status
Database mati atau mati
Jalankan perintah berikut untuk memulai database MySQL:
Untuk CentOS 6 / RHEL 6:
service mariadb start
Untuk CentOS 7+ / RHEL 7+:
systemctl start mariadb.service
Untuk sistem operasi Ubuntu:
/etc/init.d/mysql start
Server database kehabisan koneksi
Mulai ulang database dan lihat apakah kode Anda mengalami masalah saat menutup koneksi.
Koneksi antara Java dan DB memblokir komunikasi
Nonaktifkan firewall atau proxy. Sebagai alternatif, konfigurasikan untuk mengizinkan atau meneruskan port. Jika Anda menggunakan CentOS 6/RHEL 6, tinjau artikel iptables.