Ответ 1
query_cache_size
был удален в MySQL 8. Проверьте документы.
Он работает с драйвером JDBC 5.1.44.
У меня есть приложение, работающее с 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 - версия 8.0
query_cache_size
был удален в MySQL 8. Проверьте документы.
Он работает с драйвером JDBC 5.1.44.
java.sql.SQLException: Неизвестная системная переменная 'query_cache_size'
В pom файле вашего проекта просто обновите версию зависимости.
Например, он 6.0.2 соединителя java mysql просто обновляет его до последнего, например, 8.0.11
Оно работает!!!!
Попробуйте использовать MySQL 8.0.3. Как видно из документов, query_cache_size был удален в MySQL8. Ребята из JetBrains пострадали от одной и той же проблемы, похоже, что она исправлена путем обновления драйвера до версии MySQL JDBC-драйвера v 5.1.44.
У меня была похожая проблема. Я решил это, указав версию в зависимости MySQL
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
<scope>runtime</scope>
</dependency>
Работал как шарм для меня.
Ответ лежит в первой строке вашей ошибки прямо здесь:
java.sql.SQLException: Unknown system variable 'query_cache_size'
Прежде всего, убедитесь, что он включен для начала. Он может быть отключен.
Убедитесь, что "query_cache_size" существует в вашей версии MySQL, которую вы используете. Некоторые имена переменных также изменились с версии на версию mysql
Если вы используете MySql v8.0, попробуйте исправить эту ошибку с помощью
MySQL-разъем-Java-5.1.9
Я застрял в этом вопросе, провел целый день, и, наконец, я получил решение.
Решение:
1) Используйте точный javascript-коннектор mysql-connector или зависимость в качестве версии mysql.
2) если ваша версия mysql 8 или 6+, попробуйте использовать этот класс драйвера "com.mysql.cj.jdbc.Driver".
Итак, что я сделал, как указано выше. Я просто добавил mysql-connector-java-5.1.4 для построения пути, запустил проект на моем сервере и подключился к mysql.
просто поменяйте версию mysql используйте это в pom.xml
<version>8.0.11</version>
Для MySQL 8:
mysql-connector-java-8.0.17.jar (или выше) + db.driver = com.mysql.cj.jdbc.Driver вместо com.mysql.jdbc.Driver