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

Đây là một ngoại lệ được bao bọc và không thực sự thú vị. Đó là nguyên nhân gốc rễ ngoại lệ thực sự cho chúng ta biết điều gì đó về nguyên nhân gốc rễ. Vui lòng nhìn xa hơn một chút trong stacktrace. Rất có thể sau đó bạn sẽ gặp phải SQLException: Connection refused hoặc SQLException: Connection timed out .

Nếu điều này cũng đúng trong trường hợp của bạn, thì tất cả các nguyên nhân có thể là:

  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ộ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 một trong hai, 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. Bắt đầu nó.
  5. Xác minh xem mysqld có được khởi động mà không có --skip-networking hay không tùy chọn.
  6. 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.

Nhân tiện (và không liên quan đến vấn đề thực tế), bạn không nhất thiết phải tải trình điều khiển JDBC trên mọi getConnection() gọi điện. Chỉ một lần trong khi khởi động là đủ.



  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ú pháp TẠO CƠ SỞ DỮ LIỆU SQL - Được DBMS liệt kê

  2. Hướng dẫn thiết kế cơ sở dữ liệu cho hệ thống đặt hàng nhà hàng trong MySQL

  3. Trả lại tập hợp kết quả

  4. Có thể truy vấn bảng cấu trúc cây trong MySQL trong một truy vấn duy nhất, đến bất kỳ độ sâu nào không?

  5. Cách theo dõi các chỉ số HAProxy với ClusterControl