Подключение и использование MySQL версии 6 в Java-проектах изменилось по сравнению с версией 5, которые обычно приводятся в обучающих примерах, что вызывает ошибки и, как следствие, ступор у новичков.
Варианта два:
1) использовать драйвер 5-й версии, или
2) читать дальше выдержку из данного хаба ;-)
Начнем с того, что убедимся, какая версия mysql прописана в dependencies:
Первое что я сделал — это попал на FabricMySQLDriver, он напрочь отсутствует в новых классах работающих с 6-ым MySQL.
Получил ошибку «cannot resolve symbol FabricMySQLDrive».
Спустя 30 минут нашлось решение:
Все уже заметили что FabricMySQLDriver уже не работает, а старая библиотека com.mysql.jdbc.Driver насильно была заменена на аналогичную com.mysql.cj.jdbc.Driver
Во второй части было веселее.
Сначала я получил ошибку: verifyServerCertificate, где IDEA ругалась на отсутствие защищенного SLL соединения. Решение пришло с портала SOF и англоязычного форума по mysql:
autoReconnect=true&useSSL=false — эта часть решила вопрос с необходимостью SSL, но следом я вилась ошибка:
java.sql.SQLException: The server time zone value 'Russia TZ 2 Standard Time' is unrecognized or represents more than one time zone
Вторая часть кода в String URL: useLegacyDatetimeCode=false&serverTimezone=UTC — решила и эту проблему.
Собственно, таким образом получилось реализовать подключение к MySQL 6-го поколения, через новые драйверы. Надеюсь новичкам, сталкивающимся с проблемами компиляции тестовых работ по видеоурокам и туториалам этот материал пригодится.
Варианта два:
1) использовать драйвер 5-й версии, или
2) читать дальше выдержку из данного хаба ;-)
Начнем с того, что убедимся, какая версия mysql прописана в dependencies:
Первое что я сделал — это попал на FabricMySQLDriver, он напрочь отсутствует в новых классах работающих с 6-ым MySQL.
Получил ошибку «cannot resolve symbol FabricMySQLDrive».
Спустя 30 минут нашлось решение:
Все уже заметили что FabricMySQLDriver уже не работает, а старая библиотека com.mysql.jdbc.Driver насильно была заменена на аналогичную com.mysql.cj.jdbc.Driver
Во второй части было веселее.
Сначала я получил ошибку: verifyServerCertificate, где IDEA ругалась на отсутствие защищенного SLL соединения. Решение пришло с портала SOF и англоязычного форума по mysql:
autoReconnect=true&useSSL=false — эта часть решила вопрос с необходимостью SSL, но следом я вилась ошибка:
java.sql.SQLException: The server time zone value 'Russia TZ 2 Standard Time' is unrecognized or represents more than one time zone
Вторая часть кода в String URL: useLegacyDatetimeCode=false&serverTimezone=UTC — решила и эту проблему.
Собственно, таким образом получилось реализовать подключение к MySQL 6-го поколения, через новые драйверы. Надеюсь новичкам, сталкивающимся с проблемами компиляции тестовых работ по видеоурокам и туториалам этот материал пригодится.
Комментариев нет :
Отправить комментарий