source

서버 표준 시간대 값 'CEST'을(를) 인식할 수 없습니다.

manycodes 2023. 11. 2. 21:54
반응형

서버 표준 시간대 값 'CEST'을(를) 인식할 수 없습니다.

동면(Hibernate Maven 5.2.15)을 사용하고 있습니다.마지막으로 리눅스에서 lamp 환경에서 mysql 5.7을 가진 Mysql-connector Maven 8.0.9-rc).

저는 이탈리아(중앙유럽 여름 시간)에 있으며 3월 25일에 한 번 접속 db에서 follow error가 발생합니다.

서버 표준 시간대 값 'CEST'가 인식되지 않거나 둘 이상의 표준 시간대를 나타냅니다.시간대 지원을 활용하려면 서버 또는 JDBC 드라이버(serverTimezone 구성 속성을 통해)를 구성하여 보다 구체적인 시간대 값을 사용해야 합니다.

mysql 콘솔에서 다음을 실행했습니다.

SHOW GLOBAL VARIABLES LIKE 'time_zone';
SET GLOBAL time_zone='Europe/Rome'; 

하지만 그것은 지속되지 않았습니다.

그 다음에 추가했습니다.my.cnf파일(/etc/mysql):

[mysqld] 
default-time-zone = 'Europe/Rome' 

또한:

default_time_zone = 'Europe/Rome' 

하지만 db서버가 아직 시작되지 않았습니다...

오류가 발생하는 이유는 무엇입니까?누가 도와줄 수 있습니까?

감사해요!

@aiman의 답변은 정확하지 않습니다. 당신의 경우 유효 서버 시간대가 UTC가 아니기 때문입니다.

인터넷에서 jdbc 연결 문자열에 추가 파라미터를 포함한 몇 가지 솔루션을 찾을 수 있지만, 이 문자열을 변경할 수 없는 경우가 있습니다.

제가 고친 방법은 이렇습니다.

먼저 시스템 시간대를 mysql로 가져옵니다.

$ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

그런 다음 에서 기본 mysql 서버 시간대를 설정합니다.[mysqld]부분의/etc/mysql/my.cnf(또는 의)/etc/mysql/mysql.conf.d/mysqld.cnf최근 Debian/Ubuntu distros)에서 실제 서버 표준 시간대에 다음과 같이 입력할 수 있습니다.

default_time_zone = Europe/Paris

그리고 mysql을 다시 시작하는 것을 잊지 마세요.

$ sudo service mysql restart

(또는 디스트로에 따라 적절한 명령어).

db에 접속할 때 문제가 있다면 이 답변의 note에서 해결책을 찾았습니다.

연결 URL에서 다음을 사용합니다.

String url = "jdbc:mysql://localhost/mydb?serverTimezone=Europe/Rome";

이것은 저에게 플라이웨이 및 유럽/암스테르담 시간대와 연결하는 데 도움이 되었습니다.

먼저 mysql 서버 시간대를 확인합니다.
mysql -e "SELECT @@global.time_zone;" -u <mysqluser> -p.
아마도 그럴 것입니다.SYSTEM.
시스템 시간대 찾기:date +”%Z.
CEST인지 확인해보세요.
시스템 표준 시간대를 변경해야 합니다.

#cd /usr/share/zoneinfo
#ls -l
#rm /etc/localtime
#ln -s /usr/share/zoneinfo/UTC /etc/localtime

그런 다음 mysql 서버를 다시 시작합니다./etc/init.d/mysqld restart.

즐거운 시간 되세요.

이것은 내 개발 기계에서 갑자기 나타났습니다 - MySQL을 다시 시작하는 것은 나를 위해 고쳐졌습니다.

언급URL : https://stackoverflow.com/questions/49518683/the-server-time-zone-value-cest-is-unrecognized

반응형