Ошибка подключения mysql с использованием jdbc

У меня действительно серьезная проблема, и я не могу продолжать свою задачу в течение двух дней. Использую докер и сервер mysql. У меня есть файл docker-compose.yml, который:

version: '2'
services:
  mongoDb:
    image: mongo:latest
    container_name: myproject-mongodb
    ports:
      - "27017:27017"

  mssql:
    image: mysql/mysql-server:8.0
    container_name: myproject-mysql
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 'pass'
      MYSQL_DATABASE: 'myproject'
      MYSQL_USER: 'myproject'
      MYSQL_PASSWORD: 'alex1234!'

Образы докеров успешно создаются. Используя клиент dbeaver, я установил соединение, используя, конечно же, драйвер mysql и точные учетные данные: хост сервера: localhost порт: 3306 База данных: myproject Имя пользователя: myproject пароль: 'alex1234!' Также я установил в свойствах драйвера для allowPublicKeyRetrieval значение true, и соединение установлено. Теперь в моем intellij в файле application.properties у меня есть то же самое:

#MySql WebMvcConfiguration.java
spring.datasource.url=jdbc:mysql://localhost:3306/myproject?allowPublicKeyRetrieval=true
spring.datasource.username=myproject
spring.datasource.password=alex1234!
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.show_sql = true

и когда я запустил приложение, я столкнулся с этой ошибкой:

Authentication plugin 'caching_sha2_password' cannot be loaded

Почему это происходит? Еще пробовал некоторые решения ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password By 'password'; но ничего. Пожалуйста помоги

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
0
2 880
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В MySQL 8.0 caching_sha2_password является плагином аутентификации по умолчанию, а не mysql_native_password. Для получения информации о последствиях этого изменения для работы сервера и совместимости сервера с клиентами и соединителями см. Caching_sha2_password в качестве подключаемого модуля предпочтительной аутентификации -https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password

Вы используете mysql8 в образах докеров, и он имеет другую реализацию для аутентификации.

см. изменения caching_sha2_password по следующим ссылкам

Так что пока попробуйте понизить версию mysql до 5.7. И в примечании сбоку пройдите по ссылкам, чтобы использовать правильные шаги с MySQL-8. Взгляните на следующую ссылку для jdbc-connector. https://dev.mysql.com/doc/refman/8.0/en/upgrading-from-previous-series.html#upgrade-caching-sha2-password-compatible-connectors

Другие вопросы по теме