TO-DO
EC2 서버에 Docker 를 사용하여 DB 로 사용할 Mysql 컨테이너를 띄운다.
도커 설치
sudo apt update
sudo apt install -y docker.io
sudo systemctl enable docker
sudo systemctl start docker
sudo docker run --name mysql \
-e MYSQL_ROOT_PASSWORD={PASSWORD} \
-d -p 3306:3306 mysql
AWS > 인스턴스 > 보안그룹에서 3306 포트 인바운드 규칙에 추가로 열어준다.
포트를 안열어줄 경우 `Exhausted available authentication methods` 에러 발생
MySQL 8.0 이상에서는 클라이언트가 서버의 공개 키를 검색할 수 없다.
클라이언트에서 allowPublicKeyRetrieval=true 옵션을 추가해주면 검색 가능하다.
이슈
- Spring Boot 애플리케이션에서 MySQL 데이터베이스에 연결요청 시 아래 오류 발생
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)
해결
- JPA 는 데이터베이스 종류를 결정하기 위해 JDBC URL 또는 Dialect를 필요로 한다.
- MySQL 데이터베이스 연결 정보를 명확하게 설정해야한다.
- application.properties 파일에 아래 설정 추가
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
'Docker' 카테고리의 다른 글
[Docker] 도커 이미지 아키텍쳐 오류 (0) | 2025.02.05 |
---|---|
[프로젝트] NestJS, NextJS 도커 환경 설정 (도커 네트워크) (1) | 2023.05.14 |
[Docker] 도커 볼륨 / 도커 네트워크 구조 (0) | 2023.02.05 |
[Docker] 도커 이미지 / 컨테이너 생성 및 접근 (0) | 2023.01.24 |
[Docker] 도커에 Server 올려서 실행하기 (0) | 2023.01.02 |