사용자 도구

사이트 도구


wiki:database:mariadb:troubleshooting

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
wiki:database:mariadb:troubleshooting [2020/06/29 08:40]
jhgong 만듦
wiki:database:mariadb:troubleshooting [2023/01/13 18:44] (현재)
줄 2: 줄 2:
  
 ===== TimeZone error ===== ===== TimeZone error =====
 +
 +JAVA에서 MySQL 혹은 MariaDB 서버에 연결시 다음과 같은 에러가 발생 할 수 있다.
 +
 +<code>
 +### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException:
 +
 +  Failed to obtain JDBC Connection; nested exception is java.sql.SQLException:
 +
 +  Cannot create PoolableConnectionFactory (The server time zone value xxxxx 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.)
 +</code>
 +
 +현재 데이터베이스의 타임존을 확인한다.
 +
 +<code sql>
 +SELECT @@global.time_zone, @@session.time_zone;
 +</code>
 +
 +타임존이 SYSTEM으로 확인된다면 별도로 지정되어 있지 않다는 뜻이다.
 +
 +
 +  * JDBC URL에 옵션추가
 +<code java>
 +<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
 +
 +  <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
 +
 +  <property name="url" value="jdbc:mysql://127.0.0.1:3306/blog_backupdb?serverTimezone=UTC" />
 +
 +  <property name="username" value="backupdbadm"/>
 +
 +  <property name="password" value="backupdbadm"/>
 +</bean>
 +</code>
 +
 +  *데이터베이스 서버에 default-time-zone 설정하기
 +  *my.ini 파일에 [mysqlId] 섹션에 default-time-zone을 추가한다. 아래는 KST로 지정한 것이다.
 +<code>
 +[mysqld]
 +default-time-zone='+9:00'
 +</code>
 +default-time-zone='UTC' 형식으로 설정하면 에러가 발생한다.(MariaDB, MySQL 동일)
 +UTC로 지정하기 위해서는 '+0:00' 또는 '-0:00'으로 설정한다.
 +
 +
 +
 +{{tag>database troubleshooting 천호동밤안개}}
 +
 +
/volume1/web/dokuwiki/data/attic/wiki/database/mariadb/troubleshooting.1593387612.txt.gz · 마지막으로 수정됨: 2022/03/10 19:52 (바깥 편집)