メニュー
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 マネジメントコンソール

To migrate a MySQL DB snapshot to a MariaDB DB instance

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

  2. In the navigation pane, choose Snapshots.

  3. Choose Migrate Snapshot.

  4. For Migrate to DB Engine, choose MariaDB.

  5. On the Migrate Database page, provide additional information that RDS needs to launch the MariaDB DB instance.

    • DB Instance Class: Choose a DB instance class that has the required storage and capacity for your database, for example db.r3.large. For any production application that requires fast and consistent I/O performance, we recommend Provisioned IOPS storage. For more information, see Amazon RDS Provisioned IOPS ストレージによるパフォーマンスの向上. MariaDB 10.1 does not support previous generation DB instance classes. For more information, see DB インスタンスクラス.

    • DB Snapshot ID: Type a name for the DB snapshot identifier.

      The DB snapshot identifier has the following constraints:

      • It must contain from 1 to 255 alphanumeric characters or hyphens.

      • The character must be a letter.

      • It cannot end with a hyphen or contain two consecutive hyphens.

      If you are restoring from a shared manual DB snapshot, the DB snapshot identifier must be the Amazon Resource Name (ARN) of the shared DB snapshot.

    • DB Instance Identifier: Type a name for the DB instance that is unique for your account in the AWS Region where the DB instance will reside. This identifier is used in the endpoint addresses for the instances in your DB instance.

      The DB instance identifier has the following constraints:

      • It must contain from 1 to 63 alphanumeric characters or hyphens.

      • Its first character must be a letter.

      • It cannot end with a hyphen or contain two consecutive hyphens.

      • It must be unique for all DB instances for your AWS account, within an AWS Region.

    • VPC: If you have an existing VPC, then you can use that VPC with your MariaDB DB instance by selecting your VPC identifier, for example vpc-a464d1c1. For more information about VPC, see Amazon Virtual Private Cloud (VPCs) と Amazon RDS .

      Otherwise, you can choose to have Amazon RDS create a VPC for you by selecting Create a new VPC.

      You cannot create MariaDB instances in the EC2 Classic Network.

    • Subnet Group: If you have an existing subnet group, then you can use that subnet group with your MariaDB DB instance by selecting your subnet group identifier, for example gs-subnet-group1.

      Otherwise, you can choose to have Amazon RDS create a subnet group for you by selecting Create a new subnet group.

    • Publicly Accessible: Choose No to specify that instances in your DB instance can only be accessed by resources inside your VPC. Choose Yes to specify that instances in your DB instance can be accessed by resources on the public network. The default is Yes.

    • Availability Zone: Choose the Availability Zone to host the primary instance for your MariaDB DB instance. To have Amazon RDS choose an Availability Zone for you, choose No Preference.

    • Database Port: Type the default port to be used when connecting to instances in the DB instance. The default is 3306.

      You might be behind a corporate firewall that doesn't allow access to default ports such as the MySQL default port 3306. In this case, provide a port value that your corporate firewall allows.

    • Enable Encryption: Choose Yes for your new MariaDB DB instance to be encrypted "at rest." If you choose Yes, you will be required to choose an AWS KMS encryption key as the Master Key value.

    • Auto Minor Version Upgrade: Choose Yes if you want to enable your MariaDB DB instance to receive minor MySQL DB engine version upgrades automatically when they become available. The Auto Minor Version Upgrade option only applies to upgrades to MySQL minor engine versions for your MariaDB DB instance. It doesn't apply to regular patches applied to maintain system stability.

  6. Choose Migrate.

    
                                Migrate to MariaDB from MySQL

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

関連トピック