java.sql.sqlexception:未知系统变量'query\u cache\u size'

ozxc1zmp  于 2021-06-21  发布在  Mysql
关注(0)|答案(10)|浏览(327)

我有一个应用程序运行jdbc并从mysql获取数据,但由于以下错误,我无法构建它:

java.sql.SQLException: Unknown system variable 'query_cache_size'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:964) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2497) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2455) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1369) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:3777) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3240) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2249) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2035) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) ~[mysql-connector-java-5.1.41.jar:5.1.41]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_131]

我这里有application.properties文件


# specs.dir=/specs/

# 

#################### Spring Boot Data Source Configuration ############

# spring.datasource.driver-class-name=com.mysql.jdbc.Driver

# spring.datasource.url=jdbc:mysql://localhost:3306/savingbooking?useSSL=false

# spring.datasource.username=root

# spring.datasource.password=ZAQ!2wsx

# spring.datasource.initialize=true

# spring.jpa.hibernate.ddl-auto=update

# spring.jpa.properties.hibernate.format_sql=true

# spring.jpa.show-sql=true

# spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect

mysql workbench是8.0版本

oalqel3c

oalqel3c1#

好的,那么我做了上面提到的。我刚刚添加了mysql-connector-java-5.1.4来构建path,并在我的服务器上运行了这个项目,很好地连接到了mysql

ruarlubt

ruarlubt2#

此异常与pom.xml依赖项有关。当我在pox.xml中使用以下依赖项时:

<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>6.0.5</version>
 </dependency>

它显示了exception:caused by:java.sql.sqlexception:未知系统变量query\u cache\u size
但是,当我使用以下依赖关系时:

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
  </dependency>

你必须使用最新的依赖关系

ngynwnxp

ngynwnxp3#

对于mysql 8:
mysql-connector-java-8.0.17.jar(或更高版本)+db.driver=com.mysql.cj.jdbc.driver,而不是com.mysql.jdbc.driver

ajsxfq5m

ajsxfq5m4#

我坚持这个问题,花了整整一天,终于找到了解决办法。
解决方案:
1) 使用精确的mysql连接器javajar或依赖项作为mysql版本。
2) 如果您的mysql版本是8或6+尝试使用这个“com.mysql.cj.jdbc.driver”驱动程序类。

ghg1uchk

ghg1uchk5#

只要更改mysql的版本,就可以在pom.xml中使用它

<version>8.0.11</version>
zkure5ic

zkure5ic6#

java.sql.sqlexception:未知系统变量“query\u cache\u size”
在项目的pom文件中,只需更新依赖项的版本。
例如mysql java connector的6.0.2,只需将其更新为最新版本,如8.0.11
很管用!!!!

piah890a

piah890a7#

如果您使用的是mysql v8.0,那么您应该尝试用
mysql-connector-java-5.1.9

gwbalxhn

gwbalxhn8#

尝试使用mysql8.0.3正如在文档中可以看到的,mysql8上的查询缓存大小被删除了。jetbrains的家伙也遇到了同样的问题,似乎是通过将驱动程序更新到mysql jdbc driver v5.1.44版本来修复的。

dkqlctbz

dkqlctbz9#

我也有类似的问题。我通过在mysql依赖中指定版本来解决这个问题

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.45</version>
    <scope>runtime</scope>
</dependency>

对我来说很有魅力。

8fsztsew

8fsztsew10#

query_cache_size 在mysql 8中被删除。检查文件。
它与jdbc驱动程序5.1.44一起工作。

相关问题