

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# MyDumper
<a name="mydumper"></a>

[MyDumper](https://github.com/mydumper/mydumper#what-is-mydumper)(GitHub)는 다음 두 가지 유틸리티로 구성된 오픈 소스 논리적 마이그레이션 도구입니다.
+ MyDumper는 MySQL 데이터베이스의 일관된 백업을 내보냅니다. 사용 가능한 CPU 코어당 최대 하나의 스레드까지 여러 병렬 스레드를 사용하여 데이터베이스 백업을 지원합니다.
+ myloader는 MyDumper에서 생성한 백업 파일을 읽고 대상 데이터베이스 인스턴스에 연결한 다음 데이터베이스를 복원합니다.

다음 다이어그램에서는 MyDumper 백업 파일을 사용하여 데이터베이스를 마이그레이션하는 데 수반되는 상위 수준 단계를 보여줍니다. 이 아키텍처 다이어그램에는 백업 파일을 온프레미스 데이터 센터에서 AWS 클라우드의 EC2 인스턴스로 마이그레이션하는 세 가지 옵션이 포함되어 있습니다.



![MyDumper 백업 파일을 마이그레이션하고 myloader를 사용하여 AWS DB 인스턴스에서 복원하는 다이어그램입니다.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/migration-large-mysql-mariadb-databases/images/mydumper-myloader-migration-aws.png)


다음은 MyDumper를 사용하여 데이터베이스를 AWS 클라우드로 마이그레이션하는 단계입니다.

1. MyDumper 및 myloader를 설치하세요. 관련 지침은 [How to install mydumper/myloader](https://github.com/mydumper/mydumper#how-to-install-mydumpermyloader)(GitHub)를 참조하세요.

1. MyDumper를 사용하여 소스 MySQL 또는 MariaDB 데이터베이스의 백업을 생성하세요. 관련 지침은 [How to use MyDumper](https://github.com/mydumper/mydumper#how-to-use-mydumper)를 참조하세요.

1. 다음 방법 중 하나를 사용하여 백업 파일을의 EC2 인스턴스 AWS 클라우드 로 이동합니다.

   **접근 방식 3A** - [Amazon FSx](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-file-shares.html) 또는 [Amazon Elastic File System(Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html) 파일 시스템을 데이터베이스 인스턴스를 실행하는 온프레미스 서버에 탑재합니다. AWS Direct Connect 또는 Site-to-Site VPN 를 사용하여 연결을 설정할 수 있습니다. 데이터베이스를 탑재된 파일 공유에 직접 백업하거나 데이터베이스를 로컬 파일 시스템에 백업한 다음 탑재된 FSx 또는 EFS 볼륨에 업로드하여 두 단계로 백업을 수행할 수 있습니다. 그런 다음 온프레미스 서버에도 탑재된 Amazon FSx 또는 Amazon EFS 파일 시스템을 EC2 인스턴스에 탑재하세요.

   **접근 방식 3B** - AWS CLI, AWS SDK 또는 Amazon S3 REST API를 사용하여 백업 파일을 온프레미스 서버에서 S3 버킷으로 직접 이동합니다. 대상 S3 버킷이 데이터 센터와 멀리 떨어진에 AWS 리전 있는 경우 [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html)을 사용하여 파일을 더 빠르게 전송할 수 있습니다. [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse) 파일 시스템을 사용하여 EC2 인스턴스에 S3 버킷을 탑재하세요.

   **접근 방식 3C** - 온프레미스 데이터 센터에 AWS DataSync 에이전트를 설치한 다음 [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)를 사용하여 백업 파일을 Amazon S3 버킷으로 이동합니다. [s3fs-fuse](https://github.com/s3fs-fuse/s3fs-fuse) 파일 시스템을 사용하여 EC2 인스턴스에 S3 버킷을 탑재하세요.
**참고**  
Amazon S3 File Gateway를 사용하여 대용량 데이터베이스 백업 파일을 AWS 클라우드의 S3 버킷으로 전송할 수도 있습니다. 자세한 내용은 이 안내서의 [Amazon S3 File Gateway를 사용하여 백업 파일 전송](amazon-s3-file-gateway.md) 섹션을 참조하세요.

1. myloader를 사용하여 대상 데이터베이스 인스턴스에서 백업을 복원하세요. 관련 지침은 [myloader usage](https://github.com/mydumper/mydumper_docs/blob/0e5cd71a5549c8a5de0105adf4d5f95953eadb67/myloader_usage.rst)(GitHub)를 참조하세요.

1. (선택 사항) 소스 데이터베이스와 대상 데이터베이스 인스턴스 간 복제를 설정할 수 있습니다. 바이너리 로그(binlog) 복제를 사용하여 가동 중지 시간을 줄일 수 있습니다. 자세한 내용은 다음을 참조하세요.
   + [Setting the replication source configuration](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html)(MySQL 설명서)
   + Amazon Aurora의 경우 다음을 참조하세요.
     + [복제를 사용하여 Amazon Aurora MySQL DB 클러스터를 MySQL 데이터베이스와 동기화](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.RepSync)(Aurora 설명서)
     + [Amazon Aurora에서 binlog 복제 사용](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html)(Aurora 설명서)
   + Amazon RDS의 경우 다음을 참조하세요.
     + [MySQL 복제 작업](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.html)(Amazon RDS 설명서)
     + [MariaDB 복제 작업](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MariaDB.Replication.html)(Amazon RDS 설명서)
   + Amazon EC2의 경우 다음을 참조하세요.
     + [Setting Up Binary Log File Position Based Replication](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto.html)(MySQL 설명서)
     + [Setting Up Replicas](https://dev.mysql.com/doc/refman/8.0/en/replication-setup-replicas.html)(MySQL 설명서)
     + [Setting Up Replication](https://mariadb.com/kb/en/setting-up-replication/)(MariaDB 설명서)

## 장점
<a name="advantages-mydumper"></a>
+ MyDumper는 다중 스레드를 사용하여 병렬화를 지원하므로 백업 및 복원 작업 속도가 향상됩니다.
+ MyDumper는 비용이 많이 드는 문자 세트 변환 루틴을 방지하므로 코드가 매우 효율적입니다.
+ MyDumper는 테이블 및 메타데이터에 대해 별도의 파일을 덤핑하여 데이터 보기 및 구문 분석을 단순화합니다.
+ MyDumper는 모든 스레드에서 스냅샷을 유지 관리하고 기본 및 보조 로그의 정확한 위치를 제공합니다.
+ Perl 호환 정규 표현식(PCRE)을 사용하여 테이블 또는 데이터베이스를 포함할지, 제외할지를 지정할 수 있습니다.

## 제한 사항
<a name="limitations-mydumper"></a>
+ 데이터 변환 프로세스에 SQL 형식 대신 플랫 형식의 중간 덤프 파일이 필요한 경우 다른 도구를 선택할 수 있습니다.
+ myloader는 데이터베이스 사용자 계정을 자동으로 가져오지 않습니다. Amazon RDS 또는 Aurora로 백업을 복원하는 경우 필요한 권한을 가진 사용자를 다시 생성합니다. 권한에 대한 자세한 내용은 MariaDB 설명서에서 [마스터 사용자 계정 권한](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.MasterAccounts.html)을 참조하세요. 백업을 Amazon EC2 데이터베이스 인스턴스로 복원하는 경우 소스 데이터베이스 사용자 계정을 수동으로 내보내 EC2 인스턴스로 가져올 수 있습니다.

## 모범 사례
<a name="best-practices-mydumper"></a>
+ 각 테이블을 여러 세그먼트(예: 각 세그먼트의 10,000개 행)로 나누고 각 세그먼트를 별도의 파일에 기록하도록 MyDumper를 구성합니다. 이렇게 하면 나중에 데이터를 병렬로 가져올 수 있습니다.
+ InnoDB 엔진을 사용하는 경우 `--trx-consistency-only` 옵션을 사용하여 잠금을 최소화합니다.
+ MyDumper를 사용하여 데이터베이스를 내보내면 읽기 집약적 작업이 될 수 있으며 프로세스가 프로덕션 데이터베이스의 전반적인 성능에 영향을 미칠 수 있습니다. 복제본 데이터베이스 인스턴스가 있는 경우 복제본에서 내보내기 프로세스를 실행합니다. 복제본에서 내보내기를 실행하기 전에 복제 SQL 스레드를 중지합니다. 이렇게 하면 내보내기 프로세스를 더 빠르게 실행할 수 있습니다.
+ 피크 업무 시간에는 데이터베이스를 내보내지 마세요. 피크 시간을 피하면 데이터베이스 내보내기 중에 기본 프로덕션 데이터베이스의 성능이 안정화될 수 있습니다.
+ Amazon RDS for MySQL은 `keyring_aws` 플러그인을 지원하지 않습니다. 자세한 내용은 [Known issues and limitations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.KnownIssuesAndLimitations.html#MySQL.Concepts.Limits.KeyRing)를 참조하세요. 온프레미스 암호화된 테이블을 Amazon RDS 인스턴스로 마이그레이션하려면 백업 스크립트의 `CREATE TABLE` 구문에서 `ENCRYPTION` 또는 `DEFAULT ENCRYPTION`을 제거해야 합니다. 저장 시 암호화를 위해 AWS Key Management Service (AWS KMS) 키를 사용할 수 있습니다. 자세한 내용은 [Amazon RDS 리소스 암호화](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) 섹션을 참조하십시오.