MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터 마이그레이션 - Amazon Relational Database Service

MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터 마이그레이션

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 스냅샷을 생성하는 방법은 단일 AZ DB 인스턴스용 DB 스냅샷 생성 섹션을 참조하세요.

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

MySQL에서 MariaDB로 마이그레이션하면 MariaDB DB 인스턴스는 기본 DB 파라미터 그룹 및 옵션 그룹과 연동됩니다. DB 스냅샷을 복원한 후에는 새 DB 인스턴스와 사용자 지정 DB 파라미터 그룹을 연동할 수 있습니다. 그러나 MariaDB 파라미터 그룹에는 구성 가능한 다양한 시스템 변수 집합이 있습니다. MySQL 및 MariaDB 시스템 변수의 차이에 대한 정보는 MariaDB 및 MySQL 간 시스템 변수 차이점을 참조하세요. DB 파라미터 그룹에 대한 자세한 내용은 파라미터 그룹 작업 단원을 참조하십시오. 옵션 그룹에 대한 자세한 내용은 옵션 그룹 작업 단원을 참조하십시오.

마이그레이션 수행

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

MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 마이그레이션하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

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

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

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

    Amazon RDS에서 DB 엔진 버전(DB engine version)을 자동으로 선택합니다. DB 엔진 버전은 변경할 수 없습니다.

    MySQL에서 MariaDB로 마이그레이션
  5. 나머지 섹션에서 DB 인스턴스 설정을 지정합니다. 각 설정에 대한 자세한 내용은 DB 인스턴스에 대한 설정 단원을 참조하세요.

  6. [Migrate]를 선택합니다.

MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터를 마이그레이션하려면 AWS CLI restore-db-instance-from-db-snapshot 명령을 다음 파라미터와 함께 사용합니다.

  • --db-instance-identifier – DB 스냅샷에서 생성할 DB 인스턴스의 이름.

  • --db-snapshot-identifier – 복구할 DB 스냅샷에 대한 식별자.

  • --engine – 새 인스턴스에 사용할 데이터베이스 엔진.

Linux, macOS 또는 Unix 대상:

aws rds restore-db-instance-from-db-snapshot \ --db-instance-identifier newmariadbinstance \ --db-snapshot-identifier mysqlsnapshot \ --engine mariadb

Windows의 경우:

aws rds restore-db-instance-from-db-snapshot ^ --db-instance-identifier newmariadbinstance ^ --db-snapshot-identifier mysqlsnapshot ^ --engine mariadb

MySQL DB 스냅샷에서 MariaDB DB 인스턴스로 데이터를 마이그레이션하려면 Amazon RDS API 작업 RestoreDBInstanceFromDBSnapshot을 호출합니다.

MariaDB와 MySQL 간의 호환성 관련 문제

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, modify-db-instance AWS CLI 명령 또는 ModifyDBInstance RDS API 작업을 통해 암호를 재설정해야 합니다. DB 인스턴스 수정에 대한 자세한 내용은 Amazon RDS DB 인스턴스 수정 단원을 참조하세요.

  • MariaDB는 Memcached 플러그 인을 지원하지 않습니다. 그러나 Memcached 플러그 인이 사용하는 데이터는 InnoDB 테이블 형식으로 저장됩니다. MySQL DB 스냅샷을 마이그레이션한 후에는 SQL을 사용하여 Memcached 플러그인이 사용하는 데이터에 액세스할 수 있습니다. innodb_memcache 데이터베이스에 대한 자세한 내용은 InnoDB memcached Plugin Internals를 참조하십시오.