连接MySQL错误:create connection SQLException, url: jdbc:mysql://localhost:3306/*****?

  • Post author:
  • Post category:mysql


具体报错如下:

2018-11-12 16:14:21.704 ERROR 9752 — [eate-1537371824] com.alibaba.druid.pool.DruidDataSource   : create connection SQLException, url: jdbc:mysql://localhost:3306/*****?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false, errorCode 1193, state HY000

java.sql.SQLException: Unknown system variable ‘query_cache_size’

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)

at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)

at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547)

at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2505)

at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1370)

at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3862)

at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3290)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2299)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2085)

at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795)

at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)

at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:156)

at com.alibaba.druid.filter.stat.StatFilter.connection_connect(StatFilter.java:218)

at com.alibaba.druid.filter.FilterChainImpl.connection_connect(FilterChainImpl.java:150)

at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1560)

at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1623)

at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2468)

解决方法:本人是MySQL版本问题,用的是MySQL8.0,将MySQL驱动改成如下:5.1.6

<!--MySQL驱动-->
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.6</version>
</dependency>

修改后的连接信息如下:

spring:
    datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driverClassName: com.mysql.jdbc.Driver
        druid:
            first:  #数据源1
                url: jdbc:mysql://localhost:3306/数据库名称?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8
                username: *****
                password: *****

……………………



or  2020/05/28 加


spring:
  http:
    encoding:
      charset: UTF-8
      force: true
      enabled: true
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.jdbc.Driver

    platform: mysql
    url: jdbc:mysql://127.0.0.1:3306/数据库名称?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8
    username: XXXXXX
    password: XXXXXX
    #初始化链接数
    initialSize: 5
    #最小的空闲连接数
    minIdle: 5
    #最大活动连接数
    maxActive: 20
    #从池中取连接的最大等待时间,单位ms
    maxWait: 60000
    #每XXms运行一次空闲连接回收器
    timeBetweenEvictionRunsMillis: 60000
    #池中的连接空闲XX毫秒后被回收
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT1FROMDUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    filters: stat,wall,log4j
    logSlowSql: true



版权声明:本文为zwp19952009原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。