Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Lỗi liên kết truyền thông

Vì vậy, bạn có một

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Lỗi liên kết truyền thông
java.net.ConnectException:Kết nối bị từ chối

Tôi đang trích dẫn từ câu trả lời này trong đó cũng chứa hướng dẫn từng bước về MySQL + JDBC:

Nếu bạn nhận được SQLException: Connection refused hoặc Connection timed out hoặc một MySQL cụ thể CommunicationsException: Communications link failure , thì điều đó có nghĩa là DB hoàn toàn không thể truy cập được. Điều này có thể do một hoặc nhiều nguyên nhân sau:

  1. Địa chỉ IP hoặc tên máy chủ trong URL JDBC không chính xác.
  2. Tên máy chủ trong URL JDBC không được máy chủ DNS cục bộ nhận dạng.
  3. Số cổng bị thiếu hoặc sai trong URL JDBC.
  4. Máy chủ DB không hoạt động.
  5. Máy chủ DB không chấp nhận kết nối TCP / IP.
  6. Máy chủ DB đã hết kết nối.
  7. Một cái gì đó giữa Java và DB đang chặn các kết nối, ví dụ:tường lửa hoặc proxy.

Để giải quyết vấn đề này hay vấn đề khác, hãy làm theo lời khuyên sau:

  1. Xác minh và kiểm tra chúng bằng ping .
  2. Làm mới DNS hoặc sử dụng địa chỉ IP trong URL JDBC.
  3. Xác minh nó dựa trên my.cnf của MySQL DB.
  4. Khởi động DB.
  5. Xác minh xem mysqld có được khởi động mà không có tùy chọn --skip-networking option hay không .
  6. Khởi động lại DB và sửa mã của bạn tương ứng để nó đóng các kết nối trong finally .
  7. Tắt tường lửa và / hoặc định cấu hình tường lửa / proxy để cho phép / chuyển tiếp cổng.

Xem thêm:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách lấy số bit trong chuỗi trong MySQL - BIT_LENGTH ()

  2. Truy xuất Hình ảnh được lưu trữ dưới dạng BLOB trên MYSQL DB

  3. Các cột trong bảng có Khóa ngoại có thể là NULL không?

  4. Nhóm theo tháng và năm trong MySQL

  5. Chặn thông báo cảnh báo bằng mysql từ bên trong Terminal, nhưng mật khẩu được viết bằng tập lệnh bash