RDS로 DB 변경기 #799
hyeonji1220
started this conversation in
문서화
RDS로 DB 변경기
#799
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
RDS
Relational Database Service
AWS 클라우드에서 관계형 데이터베이스를 간편하게 설정,운영,확장 가능하도록 지원하는 웹 서비스
EC2 써도 되잖아?
spof 문제 위험성
- 만약 db가 있는 az에 지진이 일어난다면?
- db가 떠있는 인스턴스에 업데이트가 일어나서 ram이 부족해지면서 서버가 내려간다면?(실제 경험)
장점
단점
but. rds 비용 지원해준다니 안쓸 이유 없음
방식 선택
외부 데이터베이스에서 Amazon RDS DB 인스턴스로 데이터를 이동하는
mysqldump
명령을 통한 마이그레이션(성공!) 기본 mysql dump 방식
과정
mysqldump -u유저이름 -p비밀번호 DB명 > prod_db.sql
ssh -i ./pem키 DB명@bastionIp
FAQ
아이디어) 마이그레이션 중간의 데이터 복구
예를들어 오전 10시에서 11시 사이에 기존 A DB에 쌓인 데이터는 MySQL dump로는 포함되지 않기 때문에, 이 데이터는 별도로 복구해야 합니다. 이 문제를 해결하는 방법은 다음과 같습니다:
1. 트랜잭션 로그 또는 binlog 사용
MySQL에서는 **binlog(바이너리 로그)**를 활성화하면, 트랜잭션이나 데이터 변경 내역이 기록됩니다. 이 로그를 이용하면 특정 시점까지의 변경 사항을 복구할 수 있습니다.
A DB에서 바이너리 로그가 활성화되어 있어야 합니다. 만약 이미 활성화되어 있다면, 10시 이후의 변경 사항을 binlog에서 복구할 수 있습니다. 활성화되어 있지 않다면, 이 방법은 사용할 수 없습니다.
A DB 서버에서 10시 이후의 binlog를 추출합니다.
추출한 binlog SQL 파일을 RDS에 적용하여 10시에서 11시 사이의 변경 사항을 반영합니다.
Beta Was this translation helpful? Give feedback.
All reactions