

# MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터 마이그레이션
<a name="USER_Migrate_MariaDB"></a>

AWS Management Console, AWS CLI 또는 Amazon RDS API를 사용하여 MariaDB를 실행하는 새 DB 인스턴스로 RDS for MySQL DB 스냅샷을 마이그레이션할 수 있습니다. MySQL 5.6 또는 5.7을 실행하는 Amazon RDS DB 인스턴스에서 생성된 DB 스냅샷을 사용해야 합니다. RDS for MySQL DB 스냅샷을 생성하는 방법은 [Amazon RDS의 단일 AZ DB 인스턴스에 대한 DB 스냅샷 생성](USER_CreateSnapshot.md) 섹션을 참조하세요.

스냅샷을 마이그레이션해도 스냅샷이 생성된 원본 DB 인스턴스에는 영향을 주지 않습니다. 원래 DB 인스턴스를 대체하려고 트래픽을 전환하기 전에 새 DB 인스턴스를 테스트하고 검증할 수 있습니다.

MySQL에서 MariaDB로 마이그레이션하면 MariaDB DB 인스턴스는 기본 DB 파라미터 그룹 및 옵션 그룹과 연동됩니다. DB 스냅샷을 복원한 후에는 새 DB 인스턴스와 사용자 지정 DB 파라미터 그룹을 연동할 수 있습니다. 그러나 MariaDB 파라미터 그룹에는 구성 가능한 다양한 시스템 변수 집합이 있습니다. MySQL 및 MariaDB 시스템 변수의 차이에 대한 정보는 [MariaDB 및 MySQL 간 시스템 변수 차이점](https://mariadb.com/kb/en/system-variable-differences-between-mariadb-and-mysql/)을 참조하세요. DB 파라미터 그룹에 대한 자세한 내용은 [Amazon RDS의 파라미터 그룹](USER_WorkingWithParamGroups.md) 단원을 참조하십시오. 옵션 그룹에 대한 자세한 내용은 [옵션 그룹 작업](USER_WorkingWithOptionGroups.md) 단원을 참조하십시오.

## 마이그레이션 수행
<a name="USER_Migrate_MariaDB.Migrating"></a>

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 RDS for MySQL DB 스냅샷을 새 MariaDB DB 인스턴스로 마이그레이션할 수 있습니다.

### 콘솔
<a name="USER_Migrate_MariaDB.CON"></a>

**MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 마이그레이션하려면**

1. [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)에서 AWS Management Console에 로그인한 후 Amazon RDS 콘솔을 엽니다.

1. 탐색 창에서 [**Snapshots**]를 선택한 다음 마이그레이션하려는 MySQL DB 스냅샷을 선택합니다.

1. **작업(Actions)**에서 **스냅샷 마이그레이션(Migrate snapshot)**을 선택합니다. **데이터베이스 마이그레이션** 페이지가 표시됩니다.

1. [**Migrate to DB Engine**]에서 [**mariadb**]를 선택합니다.

   Amazon RDS에서 **DB 엔진 버전(DB engine version)**을 자동으로 선택합니다. DB 엔진 버전은 변경할 수 없습니다.  
![\[MySQL에서 MariaDB로 마이그레이션하기 위한 Amazon RDS 콘솔dml 데이터베이스 마이그레이션 페이지\]](http://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/images/MigrateMariaDB.png)

1. 나머지 섹션에서 DB 인스턴스 설정을 지정합니다. 각 설정에 대한 자세한 내용은 [DB 인스턴스에 대한 설정](USER_CreateDBInstance.Settings.md) 단원을 참조하세요.

1. [**Migrate**]를 선택합니다.

### AWS CLI
<a name="USER_Migrate_MariaDB.CLI"></a>

MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터를 마이그레이션하려면 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) 명령을 다음 옵션과 함께 실행합니다.
+ --db-instance-identifier – DB 스냅샷에서 생성할 DB 인스턴스의 이름.
+ --db-snapshot-identifier – 복구할 DB 스냅샷에 대한 식별자.
+ --engine – 새 인스턴스에 사용할 데이터베이스 엔진.

**Example**  
대상 LinuxmacOS, 또는Unix:  

```
1. aws rds restore-db-instance-from-db-snapshot \
2.     --db-instance-identifier newmariadbinstance \
3.     --db-snapshot-identifier mysqlsnapshot \
4.     --engine mariadb
```
Windows의 경우:  

```
1. aws rds restore-db-instance-from-db-snapshot ^
2.     --db-instance-identifier newmariadbinstance ^
3.     --db-snapshot-identifier mysqlsnapshot ^
4.     --engine mariadb
```

### API
<a name="USER_Migrate_MariaDB.API"></a>

MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터를 마이그레이션하려면 Amazon RDS API 작업 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)을 호출합니다.

## MariaDB와 MySQL 간의 호환성 관련 문제
<a name="USER_Migrate_MariaDB.Incompatibilities"></a>

MariaDB와 MySQL 간의 비호환성 관련 문제로는 다음과 같은 것들이 있습니다.
+ MySQL 8.0으로 생성된 DB 스냅샷은 MariaDB로 마이그레이션할 수 없습니다.
+ 원본 MySQL 데이터베이스에서 SHA256 암호 해시를 사용하는 경우, MariaDB 데이터베이스에 연결하려면 먼저 SHA256 해시 처리된 사용자 암호를 재설정해야 합니다. 다음 코드는 SHA256 해시 처리된 암호를 재설정하는 방법을 보여줍니다.

  ```
  SET old_passwords = 0;
  UPDATE mysql.user SET plugin = 'mysql_native_password',
  Password = PASSWORD('new_password')
  WHERE (User, Host) = ('master_user_name', %);
  FLUSH PRIVILEGES;
  ```
+ RDS 기본 사용자 계정에서 SHA-256 암호 해시를 사용하는 경우 AWS Management Console, [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 명령 또는 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) RDS API 작업을 통해 암호를 재설정해야 합니다. DB 인스턴스 수정에 대한 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 단원을 참조하세요.
+ MariaDB는 Memcached 플러그 인을 지원하지 않습니다. 그러나 Memcached 플러그 인이 사용하는 데이터는 InnoDB 테이블 형식으로 저장됩니다. MySQL DB 스냅샷을 마이그레이션한 후에는 SQL을 사용하여 Memcached 플러그인이 사용하는 데이터에 액세스할 수 있습니다. innodb\$1memcache 데이터베이스에 대한 자세한 내용은 [InnoDB memcached Plugin Internals](https://dev.mysql.com/doc/refman/8.0/en/innodb-memcached-internals.html)를 참조하십시오.