Я сталкиваюсь с ошибкой доступа, отказанной при попытке подключиться к MySQL из моего приложения Spring Boot. Вот соответствующая часть журнала ошибок: < /p>
SQL Error: 1045, SQLState: 28000
Access denied for user 'RoadHaulageUser'@'172.18.0.3' (using password: YES)
app-1 | 2025-02-19T12:40:13.593Z ERROR 202 --- [RoadHaulage] [ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)
app-1 | 2025-02-19T12:40:13.595Z WARN 202 --- [RoadHaulage] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested s
ervice [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)
app-1 | 2025-02-19T12:40:13.599Z INFO 202 --- [RoadHaulage] [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
app-1 | 2025-02-19T12:40:13.614Z INFO 202 --- [RoadHaulage] [ main] .s.b.a.l.ConditionEvaluationReportLogger :
app-1 |
app-1 | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
app-1 | 2025-02-19T12:40:13.633Z ERROR 202 --- [RoadHaulage] [ main] o.s.boot.SpringApplication : Application run failed
< /code>
FROM openjdk:23-jdk-slim
WORKDIR /app
COPY build.gradle settings.gradle ./
COPY gradlew ./
COPY gradle ./gradle
COPY src ./src
COPY document ./document
COPY db ./db
RUN ./gradlew build --no-daemon
CMD ["./gradlew", "bootRun"]
< /code>
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
environment:
SPRING_APPLICATION_NAME: RoadHaulage
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/${MYSQL_DB_NAME}
SPRING_DATASOURCE_USERNAME: ${MYSQL_USER_NAME}
SPRING_DATASOURCE_PASSWORD: ${MYSQL_USER_PASSWORD}
SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver
SPRING_JPA_PROPERTIES_HIBERNATE_FORMAT_SQL: false
SPRING_JPA_HIBERNATE_DDL_AUTO: update
SPRING_JPA_SHOW_SQL: true
SPRING_JPA_OPEN_IN_VIEW: false
SPRING_MAIL_HOST: smtp.gmail.com
SPRING_MAIL_PORT: 587
SPRING_MAIL_USERNAME: ${EMAIL_USERNAME}
SPRING_MAIL_PASSWORD: ${EMAIL_PASSWORD}
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH: true
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE: true
SERVER_PORT: 8080
depends_on:
- db
env_file:
- .env
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DB_NAME}
MYSQL_USER: ${MYSQL_USER_NAME}
MYSQL_PASSWORD: ${MYSQL_USER_PASSWORD}
volumes:
- mysql_data:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
volumes:
mysql_data:
< /code>
spring:
application:
name: RoadHaulage
datasource:
url: jdbc:mysql://db:3306/${MYSQL_DB_NAME}
username: ${MYSQL_USER_NAME}
password: ${MYSQL_USER_PASSWORD}
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
properties:
hibernate:
format-sql: false
hibernate:
ddl-auto: update
show-sql: true
open-in-view: false
mail:
host: smtp.gmail.com
port: 587
username: ${EMAIL_USERNAME}
password: ${EMAIL_PASSWORD}
properties:
mail:
smtp:
auth: true
starttls:
enable: true
server:
port: 8080
< /code>
CREATE DATABASE IF NOT EXISTS dbname;
CREATE USER IF NOT EXISTS 'dbuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'%';
FLUSH PRIVILEGES;
< /code>
File structure
Checked Configuration: I verified that the environment variables in my .env file are correctly set with the right credentials (MYSQL_DB_NAME, MYSQL_USER_NAME, MYSQL_USER_PASSWORD). I expected this would allow my application to connect to the MySQL database without any access issues.
Подробнее здесь: https://stackoverflow.com/questions/794 ... nate-fails
Проблема подключения к базе данных с использованием Docker Compose: Access Denied - Hibernate не может инициализировать ⇐ MySql
Форум по Mysql
1739969842
Anonymous
Я сталкиваюсь с ошибкой доступа, отказанной при попытке подключиться к MySQL из моего приложения Spring Boot. Вот соответствующая часть журнала ошибок: < /p>
SQL Error: 1045, SQLState: 28000
Access denied for user 'RoadHaulageUser'@'172.18.0.3' (using password: YES)
app-1 | 2025-02-19T12:40:13.593Z ERROR 202 --- [RoadHaulage] [ main] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)
app-1 | 2025-02-19T12:40:13.595Z WARN 202 --- [RoadHaulage] [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Unable to create requested s
ervice [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to determine Dialect without JDBC metadata (please set 'jakarta.persistence.jdbc.url' for common cases or 'hibernate.dialect' when a custom Dialect implementation must be provided)
app-1 | 2025-02-19T12:40:13.599Z INFO 202 --- [RoadHaulage] [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat]
app-1 | 2025-02-19T12:40:13.614Z INFO 202 --- [RoadHaulage] [ main] .s.b.a.l.ConditionEvaluationReportLogger :
app-1 |
app-1 | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
app-1 | 2025-02-19T12:40:13.633Z ERROR 202 --- [RoadHaulage] [ main] o.s.boot.SpringApplication : Application run failed
< /code>
FROM openjdk:23-jdk-slim
WORKDIR /app
COPY build.gradle settings.gradle ./
COPY gradlew ./
COPY gradle ./gradle
COPY src ./src
COPY document ./document
COPY db ./db
RUN ./gradlew build --no-daemon
CMD ["./gradlew", "bootRun"]
< /code>
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8080:8080"
environment:
SPRING_APPLICATION_NAME: RoadHaulage
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/${MYSQL_DB_NAME}
SPRING_DATASOURCE_USERNAME: ${MYSQL_USER_NAME}
SPRING_DATASOURCE_PASSWORD: ${MYSQL_USER_PASSWORD}
SPRING_DATASOURCE_DRIVER_CLASS_NAME: com.mysql.cj.jdbc.Driver
SPRING_JPA_PROPERTIES_HIBERNATE_FORMAT_SQL: false
SPRING_JPA_HIBERNATE_DDL_AUTO: update
SPRING_JPA_SHOW_SQL: true
SPRING_JPA_OPEN_IN_VIEW: false
SPRING_MAIL_HOST: smtp.gmail.com
SPRING_MAIL_PORT: 587
SPRING_MAIL_USERNAME: ${EMAIL_USERNAME}
SPRING_MAIL_PASSWORD: ${EMAIL_PASSWORD}
SPRING_MAIL_PROPERTIES_MAIL_SMTP_AUTH: true
SPRING_MAIL_PROPERTIES_MAIL_SMTP_STARTTLS_ENABLE: true
SERVER_PORT: 8080
depends_on:
- db
env_file:
- .env
db:
image: mysql:latest
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DB_NAME}
MYSQL_USER: ${MYSQL_USER_NAME}
MYSQL_PASSWORD: ${MYSQL_USER_PASSWORD}
volumes:
- mysql_data:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
volumes:
mysql_data:
< /code>
spring:
application:
name: RoadHaulage
datasource:
url: jdbc:mysql://db:3306/${MYSQL_DB_NAME}
username: ${MYSQL_USER_NAME}
password: ${MYSQL_USER_PASSWORD}
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
properties:
hibernate:
format-sql: false
hibernate:
ddl-auto: update
show-sql: true
open-in-view: false
mail:
host: smtp.gmail.com
port: 587
username: ${EMAIL_USERNAME}
password: ${EMAIL_PASSWORD}
properties:
mail:
smtp:
auth: true
starttls:
enable: true
server:
port: 8080
< /code>
CREATE DATABASE IF NOT EXISTS dbname;
CREATE USER IF NOT EXISTS 'dbuser'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON dbname.* TO 'dbuser'@'%';
FLUSH PRIVILEGES;
< /code>
File structure
Checked Configuration: I verified that the environment variables in my .env file are correctly set with the right credentials (MYSQL_DB_NAME, MYSQL_USER_NAME, MYSQL_USER_PASSWORD). I expected this would allow my application to connect to the MySQL database without any access issues.
Подробнее здесь: [url]https://stackoverflow.com/questions/79451418/database-connection-issue-using-docker-compose-access-denied-hibernate-fails[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия