我有一个应用程序运行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版本
10条答案
按热度按时间oalqel3c1#
好的,那么我做了上面提到的。我刚刚添加了mysql-connector-java-5.1.4来构建path,并在我的服务器上运行了这个项目,很好地连接到了mysql
ruarlubt2#
此异常与pom.xml依赖项有关。当我在pox.xml中使用以下依赖项时:
它显示了exception:caused by:java.sql.sqlexception:未知系统变量query\u cache\u size
但是,当我使用以下依赖关系时:
你必须使用最新的依赖关系
ngynwnxp3#
对于mysql 8:
mysql-connector-java-8.0.17.jar(或更高版本)+db.driver=com.mysql.cj.jdbc.driver,而不是com.mysql.jdbc.driver
ajsxfq5m4#
我坚持这个问题,花了整整一天,终于找到了解决办法。
解决方案:
1) 使用精确的mysql连接器javajar或依赖项作为mysql版本。
2) 如果您的mysql版本是8或6+尝试使用这个“com.mysql.cj.jdbc.driver”驱动程序类。
ghg1uchk5#
只要更改mysql的版本,就可以在pom.xml中使用它
zkure5ic6#
java.sql.sqlexception:未知系统变量“query\u cache\u size”
在项目的pom文件中,只需更新依赖项的版本。
例如mysql java connector的6.0.2,只需将其更新为最新版本,如8.0.11
很管用!!!!
piah890a7#
如果您使用的是mysql v8.0,那么您应该尝试用
mysql-connector-java-5.1.9
gwbalxhn8#
尝试使用mysql8.0.3正如在文档中可以看到的,mysql8上的查询缓存大小被删除了。jetbrains的家伙也遇到了同样的问题,似乎是通过将驱动程序更新到mysql jdbc driver v5.1.44版本来修复的。
dkqlctbz9#
我也有类似的问题。我通过在mysql依赖中指定版本来解决这个问题
对我来说很有魅力。
8fsztsew10#
query_cache_size
在mysql 8中被删除。检查文件。它与jdbc驱动程序5.1.44一起工作。