メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

MySQL DB スナップショットから MariaDB DB インスタンスへのデータ移行

AWS マネジメントコンソール、AWS CLI、または Amazon RDS API を使用して、Amazon RDS MySQL DB スナップショットを MariaDB 10.1 を実行している新しい DB インスタンスへ移行できます。MySQL 5.6 を実行している Amazon RDS DB インスタンスから DB スナップショットを作成する必要があります。RDS MySQL DB スナップショットを作成する方法については、「DB スナップショットの作成」を参照してください。

MySQL から MariaDB に移行した後、MariaDB DB インスタンスは、デフォルトの DB パラメータグループおよびオプショングループに関連付けられます。DB スナップショットを復元した後、新しい DB インスタンスにカスタム DB パラメータグループを関連付けることができます。ただし、MariaDB パラメータグループには異なる設定可能なシステム変数があります。MySQL と MariaDB のシステム変数の違いの詳細については、「MariaDB 10.0 と MySQL 5.6 のシステム変数の違い」を参照してください。DB パラメータグループの詳細については、DB パラメータグループを使用する を参照してください。オプションのグループの詳細については、オプショングループを使用する を参照してください。

MariaDB と MySQL の間の非互換性

MySQL と MariaDB の間の非互換性は以下のとおりです。

  • MySQL 5.7 または MySQL 5.5 で作成した DB スナップショットを MariaDB 10.1 に移行することはできません。

  • ソース MySQL データベースで SHA256 パスワードハッシュを使用している場合、MariaDB データベースに接続する前に SHA256 ハッシュされたユーザーパスワードをリセットする必要があります。次のコードは、SHA256 ハッシュされたパスワードをリセットする方法を示しています。

    Copy
    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 パスワードハッシュを使用している場合、rds modify-db-instance AWS CLI コマンド、 ModifyDBInstance API アクション、または AWS マネジメントコンソール を使用してパスワードをリセットする必要があります。MariaDB DB インスタンスの変更については、「MariaDB データベースエンジンを実行する DB インスタンスを変更する」を参照してください。

  • MariaDB は Memcached プラグインをサポートしていません。ただし、Memcached プラグインで使用されるデータは InnoDB テーブルとして保存されます。MySQL DB スナップショットを移行した後、SQL を使用して Memcached プラグインで使用されるデータにアクセスできます。innodb_memcache データベースに関する詳細については、「InnoDB memcached Plugin Internals」を参照してください。

AWS マネジメントコンソール

MySQL DB スナップショットを MariaDB DB インスタンスに移行するには

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[Snapshots] を選択します。

  3. [Migrate Snapshot] を選択します。

  4. [Migrate to DB Engine] で、[MariaDB] を選択します。

  5. [Migrate Database] ページに、RDS で MariaDB DB インスタンスを起動するために必要な追加情報を入力します。

    • DB Instance Class: データベースに必要なストレージと容量のある DB インスタンスクラス (db.r3.large など) を選択します。高速で一貫した I/O 性能を必要とするすべての本稼働アプリケーションに、プロビジョンド IOPS ストレージをお勧めします。詳細については、「Amazon RDS Provisioned IOPS ストレージによるパフォーマンスの向上」を参照してください。MariaDB 10.1 は、前世代の DB インスタンスクラスをサポートしていません。詳細については、「DB インスタンスクラス」を参照してください。

    • DB Snapshot ID: DB スナップショット識別子の名前を入力します。

      DB スナップショット識別子には次の制約があります。

      • 1 ~ 255 文字の英数字またはハイフンを使用する必要があります。

      • 文字である必要があります。

      • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

      共有された手動 DB スナップショットから復元する場合、DB スナップショット識別子は共有された DB スナップショットの Amazon リソースネーム (ARN) である必要があります。

    • DB Instance Identifier: DB インスタンスのある AWS リージョンのアカウントに一意の DB インスタンス名を入力します。この識別子は、DB インスタンス内のインスタンスのエンドポイントアドレスで使用されます。

      DB インスタンス識別子には次の制約があります。

      • 1 ~ 63 文字の英数字またはハイフンを使用する必要があります。

      • 1 字目は文字である必要があります。

      • ハイフンを、文字列の最後に使用したり、2 つ続けて使用したりすることはできません。

      • AWS リージョン内で、AWS アカウントのすべての DB インスタンスで一意にする必要があります。

    • VPC: 既存の VPC がある場合は、その VPC 識別子 (vpc-a464d1c1 など) を選択することにより、その VPC を MariaDB DB インスタンスで使用できます。VPC の詳細については、「Amazon Virtual Private Cloud (VPCs) と Amazon RDS」を参照してください。

      それ以外の場合は、[Create a new VPC] を選択することにより、Amazon RDS で VPC を作成できます。

      EC2 クラシックネットワークで MariaDB インスタンスを作成することはできません。

    • Subnet Group: 既存のサブネットグループがある場合は、そのサブネットグループ識別子 (gs-subnet-group1 など) を選択することにより、そのサブネットグループを MariaDB DB インスタンスで使用できます。

      それ以外の場合は、[Create a new subnet group] を選択することにより、Amazon RDS でサブネットグループを作成できます。

    • Publicly Accessible: DB インスタンスのインスタンスが VPC 内のリソースからのみアクセスできることを指定するには、[No] を選択します。DB インスタンスのインスタンスがパブリックネットワーク上のリソースからアクセスできることを指定するには、[Yes] を選択します。デフォルトは [Yes] です。

    • Availability Zone: MariaDB DB インスタンスのプライマリインスタンスをホストする [Availability Zone] を選択します。Amazon RDS で [Availability Zone] が選択されるようにするには、[No Preference] を選択します。

    • Database Port: DB インスタンスのインスタンスへの接続に使用されるデフォルトのポートを入力します。デフォルト: 3306

      会社のファイアウォールで MySQL のデフォルトポートである 3306 などのデフォルトポートへのアクセスが許可されない場合があります。この場合は、会社のファイアウォールによって許可されるポート値を指定します。

    • Enable Encryption: 新しい MariaDB DB インスタンスを「保管中」に暗号化するには、[Yes] を選択します。[Yes] を選択する場合、[Master Key] 値として AWS KMS 暗号化キーを選択する必要があります。

    • Auto Minor Version Upgrade: MariaDB DB インスタンスに MySQL DB エンジンのマイナーバージョンアップグレードがリリースと同時に自動的に適用されるようにする場合は、[Yes] を選択します。[Auto Minor Version Upgrade] オプションは、MariaDB DB インスタンスの MySQL マイナーエンジンバージョンに対するアップグレードのみに適用されます。システム安定性を維持するために適用される定期的なパッチは適用されません。

  6. [Migrate] を選択します。

     MySQL から MariaDB に移行する

CLI

MySQL DB スナップショットから MariaDB DB インスタンスにデータを移行するには、以下のパラメーターで AWS CLI の restore-db-instance-from-db-snapshot コマンドを使用します。

  • --db-instance-identifier – DB スナップショットから作成される DB インスタンスの名前。

  • --db-snapshot-identifier – リストア元の DB スナップショットの識別子。

  • --engine – 新しいインスタンスに使用するデータベースエンジン。

Linux、OS X、Unix の場合:

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

Windows の場合:

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

API

MySQL DB スナップショットから MariaDB DB インスタンスにデータを移行するには、Amazon RDS API の RestoreDBInstanceFromDBSnapshot アクションを呼び出します。

Copy
https://rds.us-west-2.amazonaws.com/ ?Action=RestoreDBInstanceFromDBSnapshot &DBInstanceIdentifier= newmariadbinstance &DBSnapshotIdentifier= mysqlsnapshot &Engine= mariadb &SignatureMethod=HmacSHA256 &SignatureVersion=4 &Version=2013-09-09 &X-Amz-Algorithm=AWS4-HMAC-SHA256 &X-Amz-Credential=AKIADQKE4SARGYLE/20140428/us-west-2/rds/aws4_request &X-Amz-Date=20140428T232655Z &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date &X-Amz-Signature=78ac761e8c8f54a8c0727f4e67ad0a766fbb0024510b9aa34ea6d1f7df52fe92

関連トピック