У меня действительно серьезная проблема, и я не могу продолжать свою задачу в течение двух дней. Использую докер и сервер 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';
но ничего. Пожалуйста помоги






В 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 по следующим ссылкам
Плагин аутентификации caching_sha2_password не может быть загружен
https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html
Так что пока попробуйте понизить версию 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