>데이터 베이스 >MySQL 튜토리얼 >Mybatis 및 Spring에서 'com.mysql.jdbc.Exceptions.jdbc4.CommunicationsException: Communications Link Failure'가 나타나는 이유는 무엇입니까?

Mybatis 및 Spring에서 'com.mysql.jdbc.Exceptions.jdbc4.CommunicationsException: Communications Link Failure'가 나타나는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-16 10:05:02503검색

Why Am I Getting

"com.mysql.jdbc.Exceptions.jdbc4.CommunicationsException: 통신 링크 실패 소프트웨어로 인해 연결 중단: recv 실패 [중복]"

문제:

Mybatis 및 Spring을 사용하여 MySQL에서 레코드를 업데이트하는 동안 소켓 읽기 오류로 인한 통신 링크 실패를 나타내는 예외가 발생했습니다.

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 18,940 milliseconds ago.  The last packet sent successfully to the server was 18,918 milliseconds ago.

원인:

연결 풀이 연결을 인식하기 전에 MySQL 연결 시간이 초과되었습니다.

해결 방법:

이 문제를 해결하려면 다음과 같은 몇 가지 접근 방식을 사용할 수 있습니다. take:

  1. MySQL 구성 파일(my.ini)에서 시간 초과 값을 늘립니다.

    MySQL 구성 파일(my.ini)에서 wait_timeout 매개변수를 늘립니다. .ini)을 사용하여 연결에 허용된 유휴 시간을 연장합니다.

  2. 연결 풀의 유휴 시간 줄이기:

    연결을 삭제하도록 연결 풀을 구성합니다. MySQL이 닫히기 전에. 이는 minIdle 및 maxIdle 시간 매개변수에 대해 더 낮은 값을 설정하여 달성할 수 있습니다.

  3. 연결 확인 쿼리 추가:

    확인 쿼리 추가 연결 풀 구성에. 이 쿼리는 풀이 각 연결을 실행하기 전에 테스트하는지 확인합니다. 그러나 이 접근 방식은 성능 오버헤드를 초래할 수 있습니다.

위 내용은 Mybatis 및 Spring에서 'com.mysql.jdbc.Exceptions.jdbc4.CommunicationsException: Communications Link Failure'가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.