

# 지원되지 않는 MySQL 스토리지 엔진에 대한 자동 백업
<a name="Overview.BackupDeviceRestrictions"></a>

MySQL DB 엔진의 경우, 자동 백업은 InnoDB 스토리지 엔진에만 지원됩니다. MyISAM 등의 다른 MySQL 스토리지 엔진에서 이러한 기능을 사용하는 경우 백업 복원 시에 작동이 불안정할 수 있습니다. 특히 MyISAM과 같은 스토리지 엔진은 안정적인 충돌 복구를 지원하지 않으므로 충돌 시 테이블이 손상될 수 있습니다. 이 같은 이유로 InnoDB 스토리지 엔진을 사용할 것을 권장합니다.
+ 기존 MyISAM 테이블을 InnoDB 테이블로 변환하려면 `ALTER TABLE` 명령을 사용하면 됩니다(예: `ALTER TABLE table_name ENGINE=innodb, ALGORITHM=COPY;`).
+ MyISAM을 사용하는 경우 `REPAIR` 명령을 사용하여 충돌 후 손상된 테이블을 수동으로 복구할 수 있습니다. 자세한 내용은 MySQL 설명서의 [REPAIR TABLE 문](https://dev.mysql.com/doc/refman/8.0/en/repair-table.html)을 참조하십시오. 그러나 MySQL 문서에 기재된 바와 같이 데이터를 전부 복원하지 못할 수도 있습니다.
+ MyISAM 테이블을 복원하기 전에 테이블의 스냅샷을 생성하려면 다음 단계를 따릅니다.

  1. MyISAM 테이블의 모든 활동을 중지합니다(모든 세션 닫기).

     `SHOW FULL PROCESSLIST` 명령에서 반환되는 각 프로세스에 대해 [mysql.rds\$1kill](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html) 명령을 호출하여 모든 세션을 닫을 수 있습니다.

  1. 각 MyISAM 테이블에 잠금 및 플러시를 수행합니다. 예를 들어, 다음 명령은 `myisam_table1` 및 `myisam_table2`라는 두 테이블을 잠그고 플러시합니다.

     ```
     mysql> FLUSH TABLES myisam_table, myisam_table2 WITH READ LOCK;
     ```

  1. DB 인스턴스 또는 다중 AZ DB 클러스터 스냅샷을 생성합니다. 스냅샷을 완료하면 MyISAM 테이블에서 잠금을 해제하고 활동을 다시 시작합니다. 다음 명령을 사용하여 테이블의 잠금을 해제할 수 있습니다.

     ```
     mysql> UNLOCK TABLES;
     ```

  이러한 단계를 통해 MyISAM에서 메모리에 저장된 데이터를 디스크로 강제 플러시하여 DB 스냅샷 복원 시 깨끗한 상태에서 시작할 수 있습니다. DB 스냅샷을 만드는 방법에 대한 자세한 내용은 [Amazon RDS의 단일 AZ DB 인스턴스에 대한 DB 스냅샷 생성](USER_CreateSnapshot.md) 단원을 참조하십시오.