MySQL JDBC Driver 5.1.33: 시간대 불일치 해결
MySQL JDBC 드라이버 5.1.33으로 업그레이드한 후 발생하는 일반적인 문제는 다음과 같습니다. 인식할 수 없는 서버 시간대 값('UTC')을 나타내는 오류 메시지. JDBC 드라이버의 타임존 지원을 활용하고 서버의 타임존 값이 충분히 지정되지 않은 경우에 발생합니다.
원인
이 문제의 근본 원인은 기본값에 있습니다. MySQL JDBC 드라이버의 시간대 처리 5.1.33. 이전 버전의 드라이버에서는 기본 시간대를 가정했지만 서버 시간대는 명시적으로 정의되어야 합니다. 이 변경 사항은 시간대 지원을 강화하기 위해 도입되었지만 UTC 시간대를 사용할 경우 추가 구성이 필요합니다.
해결책
이 문제를 해결하고 MySQL JDBC 드라이버 5.1과 성공적으로 연결하려면. 33 UTC 시간대를 사용하는 경우 연결 문자열에 serverTimezone 매개 변수를 명시적으로 지정해야 합니다. 이 매개변수는 JDBC 드라이버에 데이터베이스 서버의 시간대를 알려 타임스탬프와 날짜에 올바른 오프셋이 적용되도록 합니다.
Java 애플리케이션에서 이 매개변수는 다음과 같이 연결 문자열에 추가될 수 있습니다.
jdbc:mysql://localhost/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
serverTimezone 매개변수를 UTC로 지정하면 JDBC 드라이버가 UTC를 사용하여 시간대 변환 및 MySQL 데이터베이스와의 통신을 올바르게 처리합니다. 시간대.
위 내용은 MySQL JDBC 드라이버 5.1.33에서 '서버 시간대' 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!