최대 절전 모드와 MySQL과 시간대와 문제

Codizon :

나는 바람둥이 (8.5)와 MySQL (v.8.0.12)와 구성의 최대 절전 모드 (5.3.3 최종)에 노력하고 있습니다. 내가 같이 hibernate.connection.url 세트 내 HibernateTest.java (튜토리얼에서 매우 간단한 코드, 여기에 아무 문제)를 실행하면 'MySQL의 : JDBC // localhost를 : 3306 / sakila'나는 다음과 같은 오류가 발생하고있다 :

Caused by: java.sql.SQLException: The server time zone value 'Paris, Madrid 
(heure d?été)' is unrecognized or represents more than one time zone. You 
must configure either the server or JDBC driver (via the serverTimezone 
configuration property) to use a more specifc time zone value if you want to 
utilize time zone support.

MySQL은 현재 (@@ global.time_zone, @@ session.time_zone을 선택> MySQL의) 글로벌 세션의 'SYSTEM'시간대에 설정되어 있습니다. 그리고 내 시스템 시간대 실제로 파리 / 마드리드입니다. 내있는 hibernate.cfg.xml 파일에서, 나는 연결 URL을 쓸 때 :

jdbc:mysql://localhost:3306/sakila?useJDBCCompliantTimezoneShift=true;useLegacyDatetimeCode=false;serverTimezone=UTC;

오류 :

com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near '=false;serverTimezone=UTC;'.

'&하는 것은'이있는 hibernate.cfg.xml 파일의 첨부 스크린 샷 참조, 일식에 의해 거부 때문은 stackoverflox 포스트 'MySQL 서버 타임 존 및 JDBC 연결 문제'에 언급 된 문제가되지 않습니다 :

구분 기호로 끝나야합니다 실체 "useLegacyDatetimeCode"에 대한 참조 ';'

'MySQL은'그것은 사이에 눈에 보이지 않는 문자가 아닙니다와 '// localhost를'주 URL 섹션을 구문 분석하는 데 실패 잘못된 데이터베이스 URL, '이 유래 포스트에서 언급 한 바와 같이. 내가 MySQL의 워크 벤치를 통해 설정에 의해 주위의 현지 시간에 대한 옵션 문제를 작업을 시도했습니다 (기본적으로 시간대를 = '+02 : 00') 마드리드 / 파리의 여름 시간 (여기 내 경우)에있는 적합. 그것은 일을 변경하지 않습니다. 어떤 생각? 내가 다른 곳에서 그것을 구성해야합니까? 당신의 도움을 주셔서 감사합니다, 나는 성공없이 3 일 아는이 하나있었습니다.

Codizon :

나는 마침내 해결책을 가로 질러왔다했습니다. 그것은 그 둘을 보면서 ';' 도 '&'하나 개의 매개 변수보다 더 추가 할 수있는 트릭을 할 것입니다, 나는 모든 매개 변수를 꺼내서, 오직 하나 개의 매개 변수를 시도했다 :

jdbc:mysql://localhost:3306/sakila?serverTimezone=UTC

그리고 그것은 속임수를 썼는지, 나는 더 이상이 문제가 없습니다.

추천

출처http://43.154.161.224:23101/article/api/json?id=172017&siteId=1