Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REFACTOR] RDS MySQL 8.0 → 8.4 업그레이드 및 마이그레이션 #1037

Closed
zangsu opened this issue Jan 16, 2025 · 2 comments
Closed
Labels
refactor 요구사항이 바뀌지 않은 변경사항

Comments

@zangsu
Copy link
Contributor

zangsu commented Jan 16, 2025

📌 어떤 기능을 리팩터링 하나요?

리팩터링 할 기능에 대해 간결하게 설명해주세요

AS-IS

TO-BE

⏳ 예상 소요 시간 (예상 해결 날짜)

이슈를 완료하기까지 예상되는 소요 시간을 시간 or 일 단위로 작성해주세요.

0일 0시간 소요 (00/00 00:00)

🔍 참고할만한 자료(선택)

@zangsu zangsu added the refactor 요구사항이 바뀌지 않은 변경사항 label Jan 16, 2025
@zeus6768
Copy link
Contributor

zeus6768 commented Jan 16, 2025

작업 순서

  1. 백업
  2. RDS 인스턴스 생성
  3. 백업 파일 적용
  4. Github Secret 변경
  5. Github Actions로 배포
  6. 연결 확인
  7. 기존 인스턴스 삭제

백업 및 적용 명령어

mysqldump dev --set-gtid-purged=OFF -h ${remote_host} -u${username} -p{password} > ~/mysqldump/dev-backup.sql

mysqldump prod --set-gtid-purged=OFF -h ${remote_host} -u${username} -p{password} > ~/mysqldump/prod-backup.sql

mysql --database dev -h ${remote_host} -u${username} -p${password} < ~/mysqldump/dev-backup.sql

mysql --database prod -h ${remote_host} -u${username} -p${password} < ~/mysqldump/prod-backup.sql

--set-gtid-purged=OFF

GTID 복제를 비활성화(GTID 사용 환경에서 필요).

GTID(Global Transaction Identifier)는 MySQL에서 트랜잭션을 고유하게 식별하기 위해 사용되는 ID입니다. GTID는 마스터-슬레이브 복제 환경에서 트랜잭션의 상태를 관리하고, 일관성과 복구를 간소화하는 데 사용됩니다.

GTID 복제를 비활성화해야 하는 경우

  1. 복제 환경에서의 MySQL 덤프

GTID가 활성화된 MySQL 서버에서 mysqldump를 사용해 데이터를 내보낼 때, 기본적으로 GTID 정보가 포함됩니다. 이 정보가 포함되면 덤프 파일을 다른 서버(특히 GTID가 활성화되지 않은 서버)에 복원할 때 충돌이 발생할 수 있습니다.
• 예: GTID_PURGED 변수로 인해, 복원 시 GTID 정보를 재설정하려고 할 때 오류 발생.

@jminkkk jminkkk closed this as completed Jan 16, 2025
@zeus6768
Copy link
Contributor

완료

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactor 요구사항이 바뀌지 않은 변경사항
Projects
None yet
Development

No branches or pull requests

3 participants