>  기사  >  Java  >  alibaba의 druid 데이터베이스 연결 풀을 사용하여 springboot 오류를 해결하는 방법

alibaba의 druid 데이터베이스 연결 풀을 사용하여 springboot 오류를 해결하는 방법

WBOY
WBOY앞으로
2023-05-13 12:58:112430검색

    使사용 alibaba의 druid数据库连接池错误

    使usespringboot整发生了以下错误

    2019-01-15 11: 51:43.771 오류 14656 --- [eate-2056859249] com.alibaba .druid.pool.DruidDataSource   : 연결 생성 SQLException, url: jdbc:mysql://localhost:3306/hong?useUnicode=true&characterEncoding=UTF-8, errorCode 0, state 01S00

    java.sql.SQLException: 서버 시간대 값 'Öйú±ê׼ʱ¼ä' 인식할 수 없거나 둘 이상의 시간대를 나타냅니다. 시간대 지원을 활용하려면 보다 구체적인 시간대 값을 사용하도록 서버 또는 JDBC 드라이버(serverTimezone 구성 속성을 통해)를 구성해야 합니다.
        com.mysql.cj.jdbc.Exceptions.SQLError.createSQLException(SQLError .java:129) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.Exceptions.SQLError.createSQLException(SQLError.java:97) ~[mysql-connector -java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.Exceptions.SQLError.createSQLException(SQLError.java:89) ~[mysql-connector-java-8.0.13.jar:8.0 .13]
        com.mysql.cj.jdbc.Exceptions.SQLError.createSQLException(SQLError.java:63) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        com.mysql.cj에서 .jdbc.Exceptions.SQLError.createSQLException(SQLError.java:73) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.Exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping .java:76) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) ~[mysql-connector-java -8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455) ~[mysql-connector-java-8.0.13.jar:8.0. 13]
        at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc. NonRegisteringDriver.connect(NonRegisteringDriver.java:207) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1513) ~[ druid-1.1.9.jar:1.1.9]
        at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1578) ~[druid-1.1.9.jar:1.1.9]
        at com. alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2466) ~[druid-1.1.9.jar:1.1.9]
    원인: com.mysql.cj.Exceptions.InvalidConnectionAttributeException: 서버 시간대 값 'Öйú±ê׼ʱ¼ä' 인식할 수 없거나 둘 이상의 시간대를 나타냅니다. 시간대 지원을 활용하려면 보다 구체적인 시간대 값을 사용하도록 서버 또는 JDBC 드라이버(serverTimezone 구성 속성을 통해)를 구성해야 합니다.
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na: 1.8.0_191]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_191]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8. 0_191]
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_191]
        at com.mysql.cj.Exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[ mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.Exceptions.ExceptionFactory.createException(ExceptionFactory.java:85) ~[mysql-connector-java-8.0.13.jar: 8.0.13]
        com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        com.mysql.cj에서. 프로토콜.a.NativeProtocol.configureTimezone(NativeProtocol.java:2234) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol. java:2258) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1319) ~[mysql-connector-java- 8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:966) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825) ~[mysql-connector-java-8.0.13.jar:8.0.13]
        ... 6개의 공통 프레임 생략

    maven은

    alibaba의 druid 데이터베이스 연결 풀을 사용하여 springboot 오류를 해결하는 방법

    application 구성에 따라 다릅니다.

    여기서는 yml을 사용하고 있습니다.

    alibaba의 druid 데이터베이스 연결 풀을 사용하여 springboot 오류를 해결하는 방법

    처음에는 드라이버 및 연결 풀 버전에 문제가 있다고 생각했지만 나중에 모두 최신으로 변경했습니다. 버전인데 여전히 같은 오류가 발생합니다.

    Solution

    드디어 원래 되돌려 놓았던 시간 형식에서 문제를 발견했습니다. 마침내 시간이 8시간 빨라졌습니다. 마침내 애플리케이션 구성 URL 뒤에 serverTimeZone=GMT를 추가하여 문제가 해결되었습니다.

    alibaba의 druid 데이터베이스 연결 풀을 사용하여 springboot 오류를 해결하는 방법

    위 내용은 alibaba의 druid 데이터베이스 연결 풀을 사용하여 springboot 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제