AWS RDS mysqldump(backup) error
mysqldump(backup) 명령어
mysqldump -h "RDS Endpoint" -u "User NAME" -p "PASSWORD" --databases "DB NAME"" > "DB NAME"-${date +%Y%m%d).sql
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions, even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make a complete dump, pass --all-databases --triggers --routines --events.
이 경고 메시지는 AWS RDS(Relational Database Service)에서 MySQL 데이터베이스의 GTID(Global Transaction Identifier)를 이용한 부분 덤프(partial dump)를 수행할 때 발생하는 것으로 보입니다. GTID는 서버의 모든 트랜잭션을 고유하게 식별하는 데 사용되며, 일부 데이터베이스 변경을 제외하고 모든 트랜잭션의 GTID를 포함하여 덤프가 생성되기 때문에 경고가 발생합니다.
해결 방법은 덤프를 생성할 때 --set-gtid-purged=OFF 옵션을 추가하거나, 완전한 덤프를 위해 --all-databases, --triggers, --routines, --events를 추가해주면 됩니다. 각각의 옵션에 대해 간단히 설명드리겠습니다.
- --set-gtid-purged=OFF: 이 옵션을 추가하면 GTID가 포함되지 않도록 설정됩니다.
- --all-databases: 모든 데이터베이스를 덤프에 포함시킵니다.
- --triggers: 트리거를 덤프에 포함시킵니다.
- --routines: 저장 프로시저 및 함수 등의 루틴을 덤프에 포함시킵니다.
- --events: 이벤트 스케줄러를 덤프에 포함시킵니다.
덤프를 생성하는 명령어에서 위의 옵션을 사용하여 필요한 옵션을 추가하시면 됩니다. 예를 들어, GTID를 포함하지 않고 모든 데이터베이스 및 루틴, 트리거, 이벤트를 포함하여 완전한 덤프를 생성하려면 다음과 같은 명령어를 사용할 수 있습니다.
mysqldump --all-databases --triggers --routines --events --set-gtid-purged=OFF > dump.sql
적절한 옵션을 사용하여 원하는 방식으로 덤프를 생성하면 경고가 더 이상 발생하지 않습니다. 주의깊게 옵션을 선택하고 덤프를 생성하시기 바랍니다. AWS RDS의 데이터베이스를 다룰 때는 신중함이 필요합니다.
mysqldump(backup) 명령어
mysqldump --set-gtid-purged=OFF --column-statistics=0
mysqldump --set-gtid-purged=OFF --column-statistics=0 -h "RDS Endpoint" -u "User NAME" -p "PASSWORD" --databases "DB NAME"" > "DB NAME"-${date +%Y%m%d).sql
'퍼블릭 클라우드' 카테고리의 다른 글
[Terraform] 테라폼 프로바이더(Provider) 및 VPC 생성 (0) | 2021.01.28 |
---|---|
CentOS 7에서 Terraform을 설치하는 방법 (0) | 2021.01.26 |
Amazon Route 53에서 레코드를 생성하고 편집하는 방법 (0) | 2021.01.06 |
Amazon Route 53 도메인 위임(Transfer) (0) | 2020.11.09 |
Amazon Route 53 호스트 영역 등록 (0) | 2020.11.09 |