Docker

[Docker] EC2서버 에 Mysql 컨테이너 생성

sian han 2025. 2. 5. 16:15

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