Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Kegagalan tautan komunikasi

Ini adalah pengecualian yang dibungkus dan tidak terlalu menarik. Ini adalah akar penyebab pengecualian yang sebenarnya memberitahu kita sesuatu tentang akar penyebab. Silakan lihat sedikit lebih jauh di stacktrace. Kemungkinan besar Anda kemudian akan menghadapi SQLException: Connection refused atau SQLException: Connection timed out .

Jika hal ini juga terjadi pada kasus Anda, maka semua kemungkinan penyebabnya adalah:

  1. Alamat IP atau nama host di URL JDBC salah.
  2. Nama host di URL JDBC tidak dikenali oleh server DNS lokal.
  3. Nomor port tidak ada atau salah di URL JDBC.
  4. Server DB mati.
  5. Server DB tidak menerima koneksi TCP/IP.
  6. Sesuatu di antara Java dan DB memblokir koneksi, mis. firewall atau proxy.

Untuk menyelesaikan salah satu atau keduanya, ikuti saran berikut:

  1. Verifikasi dan uji dengan ping .
  2. Segarkan DNS atau gunakan alamat IP di URL JDBC.
  3. Verifikasi berdasarkan my.cnf dari MySQL DB.
  4. Mulailah.
  5. Verifikasi apakah mysqld dimulai tanpa --skip-networking pilihan.
  6. Nonaktifkan firewall dan/atau konfigurasikan firewall/proxy untuk mengizinkan/meneruskan port.

Omong-omong (dan tidak terkait dengan masalah sebenarnya), Anda tidak perlu memuat driver JDBC di setiap getConnection() panggilan. Cukup sekali saja saat startup.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat mengeluarkan pernyataan manipulasi data dengan executeQuery()

  2. Pertempuran pengkodean karakter UTF-8 json_encode()

  3. Cara Menampilkan Susunan Koneksi Anda di MySQL

  4. Bagaimana Fungsi MAKE_SET() Bekerja di MySQL

  5. Bagaimana cara menggemakan Resource id #6 dari respons MySql di PHP?