[한이음] RDS 데이터베이스 생성 -> EC2와 연결 -> MySQLWorkbench와 연결

김유정·2022년 8월 15일
0

한이음

목록 보기
3/3

이번에 다룰 부분


RDS에 데이터베이스 생성
파라미터그룹 생성 후 데이터베이스 옵션의 DB 파라미터 그룹 변경
RDS에 생성한 데이터베이스와 인스턴스 연결
RDS와 MySQLWorkbench 연결
MyBatis로 RDS와 spring 프로젝트 연결

RDS 설정


RDS에 데이터베이스를 만들 때는 아래 적은 책과 블로그를 참고했다.

책: "스프링 부트와 AWS로 혼자 구현하는 웹서비스"
블로그: https://overcome-the-limits.tistory.com/296

1) 데이터베이스 생성

데이터베이스를 생성할 때도 지역이 서울인지 잘 확인하자! 데이터베이스 만들 때 설정은 아래와 같이 했다.

  • 엔진 옵션: MySQL 8.0.29
  • 템플릿: 프리티어
  • 스토리지 유형: 범용 SSD(gp2)
  • 할당된 스토리지: 20
  • 스토리지 자동 조정: 스토리지 자동 조정 활성화 체크
  • 퍼블릭 엑세스: 예
  • VPC 보안 그룹: 새로 생성
  • 추가 구성 - 데이터베이스 포트: 3306
  • 데이터베이스 인증: 암호 인증

추가구성은 초기 데이터베이스 이름만 바꿔주고 나머지는 기본으로 나뒀다. 어차피 DB파라미터 그룹은 나중에 만들어서 변경해주면 된다.

2) 파라미터 그룹 생성 & 편집

timezone: Asia/Seoul
Charater_set
로 시작하는 항목들: utf8mb4
collation_connection, collation_server: utf8mb4_general_ci

3) 파라미터 그룹과 데이터베이스 연결

Amazon RDS > 데이터베이스 > 수정 > 데이터베이스 옵션의 DB 파라미터 그룹을 2)과정에서 생성하고 편집한 파라미터 그룹으로 변경

4) 보안그룹 설정

  1. EC2에 사용된 보안그룹의 그룹 ID를 복사
  2. RDS가 사용하고 있는 보안그룹에서 인바운드 규칙 편집
  3. MYSQL/Auror TCP 3306으로 선택한 후, EC2에서 사용하고 있는 보안그룹의 ID 붙여넣기

EC2와 RDS가 사용하고 있는 보안그룹이 같더라도 무조건 추가해줘야한다. 이거 때문에, 에러로 한참을 고생했다...

MySQLWorkbench에 RDS 연결


1) 연결

2) 테이블 생성

Database -> Forward Engineer (erd로부터 테이블 만들기)

SpringBoot 프로젝트와 RDS 연결


  1. MyBatis 라이브러리 Gradle 의존성 설정
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.2.0'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
runtimeOnly 'mysql:mysql-connector-java'
  1. Spring Boot AWS RDS MySQL 연동
    application.properties에서 엔드포인트, 계정명, 비번, mapper.xml 파일의 위치를 설정해주면 된다.
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://엔드포인트:3306/db이름
spring.datasource.username=root	# 계정명
spring.datasource.password=0000	# 비번

mybatis.mapper-locations=classpath:mapper/*.xml

프로젝트 구조를 아래와 같이 main > resources > mapper 아래에 mapper.xml 파일들을 생성해주기 위해 mapper-location을 classpath:mapper/*.xml로 설정해주었다.

mybatis를 연결하고서 테스트를 해보는데, 계속 데이터를 못 가져와서 도대체 뭐가 문제인가 2일을 넘게 고민했는데, application.properties 파일에서 mybatis mapper의 위치 설정이 잘못된 것이었다....

  • 변경 전
spring.datasource.mapper-locations=classpath:mapper/*.xml
  • 변경 후
mybatis.mapper-locations=classpath:mapper/*.xml

1개의 댓글

comment-user-thumbnail
2024년 4월 9일

Error: GPG check FAILED 에러 발생 시 참고: https://jinhos-devlog.tistory.com/entry/MySQL-8-Community-Edition-%EC%84%A4%EC%B9%98-%EC%A4%91-%EC%98%A4%EB%A5%98

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
sudo yum update
sudo dnf install mysql-community-server
답글 달기