すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:MySQL 5.7またはMySQL 8.0を実行する自己管理型インスタンスのデータをApsaraDB RDS for MySQLインスタンスに移行する

最終更新日:Nov 07, 2024

このトピックでは、セルフマネージドMySQLインスタンスのデータを、セルフマネージドMySQLインスタンスと同じMySQLバージョンを実行するApsaraDB RDS for MySQLインスタンスに移行する方法について説明します。 セルフマネージドMySQLインスタンスで完全バックアップを実行し、完全バックアップファイルをObject Storage Service (OSS) バケットにアップロードし、OSSバケットからApsaraDB RDSコンソールに完全バックアップファイルをインポートしてから、完全バックアップファイルから新しいRDSインスタンスにデータを復元できます。

前提条件

  • 自己管理型MySQLインスタンスは、クラウド移行条件を満たしています。 詳細については、「付録4: 制限」をご参照ください。

  • RDSインスタンスが存在するリージョンにOSSバケットが作成されます。 バケットの作成方法の詳細については、「バケットの作成」をご参照ください。

    説明

    作成するOSSバケットは、RDSインスタンスと同じリージョンに存在する必要があります。

移行プロセス

移行プロセスは、次の手順で構成されます。

ステップ1: Percona XtraBackupのインストール

ステップ2: MySQLバックアップヘルパーのインストール

手順3: セルフマネージドMySQLインスタンスのバックアップとバックアップデータのRDSインスタンスへの移行

環境

このトピックでは、自己管理型MySQLインスタンスがElastic Compute Service (ECS) インスタンスにデプロイされています。 自己管理型MySQLインスタンスの作成に使用されるイメージは、CentOS Linux V8.3.2011を実行します。 イメージが他のLinuxディストリビューションを実行する場合は、必要なコマンドを使用する必要があります。 詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。

ステップ1: Percona XtraBackupのインストール

Percona XtraBackupはPerconaによって開発され、稼働時間に影響を与えることなくMySQLデータベースをバックアップするのに役立ちます。 Percona XtraBackupは、さまざまなストレージエンジンと互換性があります。 UbuntuにPercona XtraBackupをインストールする方法の詳細については、「付録1: UbuntuにXtraBackupをインストールする」をご参照ください。

MySQLのバージョンに基づいてPercona XtraBackupのバージョンを選択する必要があります。

MySQL 5.7

wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm

MySQL 8.0

wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm

ステップ2: MySQLバックアップヘルパーをインストールする

前提条件

  • Goプログラミング言語がインストールされています。 Goがインストールされていない場合は、CLIで次のコマンドを実行してGoをインストールします。

    sudo yum install -y go
  • Unzipユーティリティがインストールされています。 Unzipがインストールされていない場合は、CLIで次のコマンドを実行してUnzipをインストールします。

    sudo yum install -y unzip
説明

上記のコマンドは、CentOSでのみサポートされます。 Ubuntuを使用している場合は、付録2: UbuntuオペレーティングシステムにGoとUnzipをインストールするに基づいてユーティリティをインストールします。

手順

  1. MySQL Backup Helperのソースコードパッケージをダウンロードします。

    wget https://github.com/aliyun/mysql-backup-helper/archive/refs/heads/master.zip
    説明

    MySQL Backup Helperのソースコードパッケージは、mysql-backup-helperページからダウンロードできます。

  2. MySQL Backup Helperのソースコードパッケージを解凍します。

    unzip master.zip
  3. mysql-backup-helper-masterフォルダーに移動し、main. Goファイルをbackup_helperという名前の実行可能ファイルにコンパイルします。

    cd mysql-backup-helper-master
    go build -a -o backup_helper main.go
  4. oss_streamフォルダーに移動し、oss_stream.goファイルをoss_streamという名前の実行可能ファイルにコンパイルします。

    cd oss_stream
    go build -a -o oss_stream oss_stream.go

ステップ3: 自己管理型MySQLインスタンスをバックアップし、バックアップデータをRDSインスタンスに移行する

  1. MySQL Backup Helperを使用して、セルフマネージドMySQLインスタンスがバックアップをサポートしているかどうかを確認します。

    cd ~/mysql-backup-helper-master && ./backup_helper -host <The IP address of the host in which the self-managed MySQL instance resides> -port <The port that is used to connect to the self-managed MySQL instance> -user <The username of the root account that is used to connect to the self-managed MySQL instance> --password <The password of the root account that is used to connect to the self-managed MySQL instance>

    backup_helper

  2. セルフマネージドMySQLインスタンスがバックアップをサポートしている場合は、セルフマネージドMySQLインスタンスで完全バックアップを実行し、完全バックアップファイルをOSSバケットにアップロードします。 OSSバケットが作成されていない場合は、作成します。 詳細は、「前提条件 (Prerequisites)」をご参照ください。

    MySQLのバージョンに基づいてコマンドを選択する必要があります。

    MySQL 5.7

    innobackupex --backup --host=<The IP address of the host in which the self-managed MySQL instance resides> --port=<The port that is used to connect to the self-managed MySQL instance> --user=<The username of the root account that is used to connect to the self-managed MySQL instance> --password=<The password of the root account that is used to connect to the self-managed MySQL instance> --stream=xbstream --compress <The temporary directory that is used to store the full backup file> | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId <The AccessKey ID of your Alibaba Cloud account> -accessKeySecret <The AccessKey secret of your Alibaba Cloud account> -bucketName <The name of your OSS bucket> -endpoint <The endpoint that is used to connect to your OSS bucket> -objectName <The name of the full backup file>

    例:

    innobackupex --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI5tCqY18jvvKk**** -accessKeySecret 4A5Q7ZVzcYnWMQPysXFxld**** -bucketName test -endpoint oss-********.aliyuncs.com -objectName backup_qp.xb

    セルフマネージドMySQLインスタンスのデータ量は、完全バックアップの完了に必要な時間にも影響します。 データ量が多いほど時間がかかる。 セルフマネージドMySQLインスタンスに大量のデータがある場合は、nohupコマンドを実行してバックグラウンドで完全バックアップを実行することを推奨します。 これにより、予期しないログインが発生した場合に完全バックアップが中断されるのを防ぐことができます。 サンプルコマンド:

    nohup sh -c 'innobackupex --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI5tCqY18jvvKk**** -accessKeySecret 4A5Q7ZVzcYnWMQPysXFxld**** -bucketName test -endpoint oss-ap-southeast-1.aliyuncs.com -objectName backup_qp.xb' &

    MySQL 8.0

    xtrabackup --backup --host=<The IP address of the host in which the self-managed MySQL instance resides> --port=<The port that is used to connect to the self-managed MySQL instance> --user=<The username of the root account that is used to connect to the self-managed MySQL instance> --password=<The password of the root account that is used to connect to the self-managed MySQL instance> --stream=xbstream  <The temporary directory that is used to store the full backup file> | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId <The AccessKey ID of your Alibaba Cloud account> -accessKeySecret <The AccessKey secret of your Alibaba Cloud account> -bucketName <The name of your OSS bucket> -endpoint <The endpoint that is used to connect to your OSS bucket> -objectName <The name of the full backup file>

    例:

    xtrabackup --backup --host=<The IP address of the host in which the self-managed MySQL instance resides> --port=<The port that is used to connect to the self-managed MySQL instance> --user=<The username of the root account that is used to connect to the self-managed MySQL instance> --password=<The password of the root account that is used to connect to the self-managed MySQL instance> --stream=xbstream  <The temporary directory that is used to store the full backup file> | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId <The AccessKey ID of your Alibaba Cloud account> -accessKeySecret <The AccessKey secret of your Alibaba Cloud account> -bucketName <The name of your OSS bucket> -endpoint <The endpoint that is used to connect to your OSS bucket> -objectName <The name of the full backup file>

    セルフマネージドMySQLインスタンスのデータ量は、完全バックアップの完了に必要な時間にも影響します。 データ量が多いほど時間がかかる。 セルフマネージドMySQLインスタンスに大量のデータがある場合は、nohupコマンドを実行してバックグラウンドで完全バックアップを実行することを推奨します。 これにより、予期しないログインが発生した場合に完全バックアップが中断されるのを防ぐことができます。 サンプルコマンド:

    nohup sh -c 'xtrabackup --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream  /root/mysql/data | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI5tCqY18jvvKk**** -accessKeySecret 4A5Q7ZVzcYnWMQPysXFxld**** -bucketName test -endpoint oss-ap-southeast-1.aliyuncs.com -objectName backup_qp.xb' &
    説明
    • フルバックアップ中の自己管理型MySQLインスタンスのステータスは、フルバックアップの完了に必要な時間に影響します。 たとえば、多数の書き込み操作から多数のredoログレコードが生成されたり、完全バックアップ中に大規模なトランザクションが実行されたりすると、必要な時間が長くなります。 完全バックアップが完了すると、システムは完了したOK ! メッセージ。

    • OSSバケットに一時的にアクセスできない場合は、完全バックアップファイルをコンピューターに保存することを推奨します。 OSSバケットが期待どおりに実行されたら、完全バックアップファイルをOSSバケットにアップロードできます。 詳細については、「付録3: 完全バックアップの実行、完全バックアップファイルのコンピューターへの保存、および完全バックアップファイルのOSSバケットへのアップロード」をご参照ください。

    • 完全バックアップファイルをOSSバケットにアップロードした後、OSSコンソールにログインして、アップロードが成功したかどうかを確認できます。 アップロードに失敗した場合は、この手順を繰り返すことができます。

  3. ApsaraDB for RDS コンソールにログインします。 上部のナビゲーションバーで、自己管理型MySQLインスタンスのデータを復元するリージョンを選択します。 左側のナビゲーションウィンドウで、バックアップ をクリックします。

  4. ユーザーバックアップ タブで、バックアップのインポート をクリックします。

  5. インポートガイドウィザードで、表示されたメッセージを読み、3. データのインポートのインポート手順。

    説明

    [バックアップのインポート] ウィザードでは、移行プロセスを説明します。 詳細については、「付録3: 完全バックアップの実行、完全バックアップファイルのコンピューターへの保存、および完全バックアップファイルのOSSバケットへのアップロード」をご参照ください。

    • 1. ソースデータベースをバックアップしますのバックアップ: 自己管理型MySQLインスタンスで完全バックアップを実行します。

    • 2. バックアップファイルをOSSにアップロードしますにアップロードする: 自己管理型MySQLインスタンスの完全バックアップファイルをOSSバケットにアップロードします。

  6. 3. データのインポートステップで、次のパラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    MySQLバージョン

    5.7/8.0の値が自動的に表示されます。

    説明

    MySQL 5.7またはMySQL 8.0を実行する自己管理インスタンスのデータをインポートできます。

    リージョン

    ステップ1で指定したリージョン。 このパラメーターは、完全バックアップファイルを格納するOSSバケットのリージョンに設定する必要があります。

    OSSバケット

    自己管理型MySQLインスタンスの完全バックアップファイルを格納するOSSバケット。 OSSバケットの詳細については、「オブジェクトのアップロード」をご参照ください。

    OSSファイル名

    OSSバケットにオブジェクトとして保存されている完全バックアップファイル。 [OSSファイル名] フィールドに完全バックアップファイルの名前を入力して、ファイルを検索できます。 あいまい一致と完全一致がサポートされています。

    説明

    OSSバケットにオブジェクトとして保存される完全バックアップファイルは、_QP.XB形式である必要があります。 または、_QP.XB形式のファイルをTAR.GZ形式のパッケージに圧縮し、そのパッケージをオブジェクトとしてOSSバケットに保存することもできます。 詳細については、「付録5: 制限」をご参照ください。

    完全バックアップファイルを識別するのに役立つ説明。

    Zone

    フルバックアップファイルを保存するOSSバケットのゾーン。 ゾーンを選択すると、ApsaraDB RDSはそのゾーンに1桁の数秒でスナップショットを作成します。 これにより、フルバックアップファイルをOSSバケットにインポートするのに必要な時間が大幅に短縮されます。

    説明

    完全バックアップファイルがインポートされた後、完全バックアップファイルのデータを新しいRDSインスタンスに復元できます。 新しいRDSインスタンスは、選択したゾーンにあります。

    ストレージ容量

    フルバックアップファイルに必要なストレージの量。 有効値: 20 ~ 6000: Unit: GB。

    説明

    デフォルトでは、必要なストレージの量は、フルバックアップファイルのサイズの3倍です。 ファイルサイズに3を掛けた値が20 GBを超えない場合、このパラメーターはデフォルトで20になります。

    説明
    • ApsaraDB RDSがOSSへのアクセスを許可されていない場合は、3. データのインポートのインポート手順。 表示されるページの左下隅で、[権限付与ポリシーの確認] をクリックします。

    • 詳細については、このページの手順をお読みください。

  7. システムは、ユーザーバックアップ タブで完全バックアップファイルを検証するタスクを作成します。 タスクの ステータス パラメーターが 検証中 から 完了 に変わるまで待ちます。

    重要

    ユーザーバックアップファイルの検証に必要な期間は、バックアップ時のRDSインスタンスのステータスによって異なります。 たとえば、次のシナリオでは、ユーザーバックアップファイルの検証に長い時間が必要です。インスタンスのバックアップ中にRDSインスタンスで多数の書き込み操作が実行され、したがって多数のredoログが生成されたり、インスタンスのバックアップ中にRDSインスタンスで大規模なトランザクションが実行されたりします。

  8. 必要な完全バックアップファイルを見つけて、バックアップ ID/バックアップ名 列の右側にある 操作 列の 復元 をクリックします。

  9. 次のパラメーターを設定し、[次へ: インスタンス設定] をクリックします。

    パラメーター

    説明

    プライマリノードのゾーン

    プライマリRDSインスタンスが属するゾーン。

    説明

    ファイルをインポートするときに、フルバックアップファイルを保存するOSSバケットのゾーンを選択しなかった場合、このパラメーターが表示されます。 ファイルをインポートするときに、フルバックアップファイルを保存するOSSバケットのゾーンを選択した場合、このパラメーターは表示されません。

    ストレージタイプ

    • ESSD PL1: 性能レベル1 (PL1) エンタープライズSSD (ESSD) 。

    • 標準SSD: 標準SSDは、Alibaba Cloudの分散ストレージアーキテクチャに基づいて設計されたエラスティックブロックストレージデバイスです。 標準 SSD にデータを保存すると、コンピューティングをストレージから分離できます。

    説明

    詳細については、「ストレージタイプ」をご参照ください。

    [インスタンスタイプ]

    汎用 (エントリレベル): 汎用RDSインスタンスは、割り当てられたメモリとI/Oリソースを排他的に占有します。 ただし、同じホストにデプロイされている他の汎用RDSインスタンスとCPUコアとストレージリソースを共有します。

    説明

    インスタンスタイプを選択します。 各インスタンスタイプは、特定のCPUコア数、メモリ容量、最大接続数、および最大IOPSをサポートします。 詳細については、「プライマリ ApsaraDB RDS インスタンスタイプ」をご参照ください。

    ストレージ容量

    RDSインスタンスのストレージ容量を設定します。 ストレージ容量は、RDSインスタンスにデータファイル、システムファイル、ログファイル、およびトランザクションファイルを保存するためにプロビジョニングされます。 5 GBのステップサイズでストレージ容量を調整できます。

  10. 次のパラメーターを設定し、[次へ: 注文の確認] をクリックします。

    パラメーター

    説明

    ネットワークタイプ

    RDSインスタンスのネットワークタイプ。 [VPC] を選択します。 仮想プライベートクラウド (VPC) は、クラシックネットワークよりも高いセキュリティと優れたパフォーマンスを提供する分離されたネットワークです。 VPCネットワークタイプを選択した場合、VPCおよびプライマリノードのvSwitchパラメーターも設定する必要があります。

    説明

    接続するRDSインスタンスとECSインスタンスは、同じVPCに存在する必要があります。 そうしないと、RDSインスタンスとECSインスタンスは内部ネットワーク経由で通信できません。

    パラメーターテンプレート

    RDSインスタンスで使用されるパラメーターテンプレート。 システムパラメータテンプレートまたはカスタムパラメータテンプレートを選択できます。 詳細については、「パラメーターテンプレートの使用」をご参照ください。

    タイムゾーン

    RDSインスタンスのタイムゾーンを選択します。

    テーブル名のケース感度

    RDSインスタンスのテーブル名が大文字と小文字を区別するかどうかを指定します。 セルフマネージドMySQLインスタンスのテーブル名が大文字と小文字を区別する場合、RDSインスタンスとセルフマネージドMySQLインスタンス間のデータ移行を容易にするために大文字と小文字を区別するを選択することを推奨します。

  11. [パラメーター] セクションでRDSインスタンスの設定を確認し、[購入プラン] パラメーターを設定し、利用規約を読んで選択し、[今すぐ支払い] をクリックして支払いを完了します。

    説明

    ApsaraDB RDSは、RDSインスタンスの作成に1〜5分かかります。 インスタンスが作成されるまで待ちます。

次のステップ

フルバックアップファイルの保持期間の設定

デフォルトでは、完全バックアップファイルはApsaraDB RDSにインポートされてから3日間保持されます。 ビジネス要件に基づいて保持期間を調整できます。

説明

完全バックアップファイルが不要になった場合は、ファイルを削除できます。

  1. ApsaraDB RDSコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、バックアップ をクリックします。

  2. 必要な完全バックアップファイルを見つけて、バックアップ ID/バックアップ名 列の右側にある 有効期限 列の 保存期間の設定 をクリックします。

  3. 表示されるダイアログボックスで、ApsaraDB RDSが提供するドロップダウンリストから保存期間を選択します。 または、カスタム保存期間 を選択し、数値を入力します。 上向き矢印または下向き矢印をクリックして、保持期間を調整できます。

    説明

    有効期限 列には、フルバックアップファイルの有効期限が表示されます。 有効期限が2099を超えると、Permanentとして表示されます。

  4. [OK] をクリックします。

フルバックアップファイルにタグを追加する

完全バックアップファイルをApsaraDB RDSにインポートした後、ファイルにタグを追加できます。

  1. ApsaraDB RDSコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、バックアップ をクリックします。

  2. 必要な完全バックアップファイルを見つけて、バックアップ ID/バックアップ名 列の右側にある タグ 列の + タグの追加 をクリックします。

  3. 表示されるダイアログボックスで、タグの作成 をクリックし、タグの キー フィールドと フィールドを指定し、パラメーターの右側にある OK をクリックしてタグを作成し、ダイアログボックスの右下隅にある OK をクリックします。

    説明

    タグが存在する場合は、タグの選択 ドロップダウンリストからタグを選択して、タグを完全バックアップファイルに追加します。

  4. フルバックアップファイルのタグを変更する場合は、タグの上にポインタを移動し、編集 をクリックします。 表示されるツールチップで、手順3を繰り返してタグを作成または選択します。

完全バックアップファイルのログデータを確認する

フルバックアップ中にセルフマネージドMySQLインスタンスでデータ変更が行われた場合、生成されたフルバックアップファイルにはデータ変更を記録するログ情報が含まれます。 ログ情報を使用して、増分データを復元できます。 詳細については、「手順3: セルフマネージドMySQLインスタンスをバックアップし、バックアップデータをRDSインスタンスに移行する」をご参照ください。

  1. ApsaraDB RDSコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、バックアップ をクリックします。

  2. 必要な完全バックアップファイルを見つけて、[バックアップID /名前] 列の右側にある 操作 列の 詳細を表示 をクリックします。

  3. 表示されるメッセージで、ログデータを確認します。

    説明

    次のリストは、ログ情報を示しています。

    • Master_Log_File:: 増分データを格納する最初のログファイルの名前。

    • Master_Log_Position:: 最初のログファイルの増分データを含む最初のログエントリ。

完全なバックアップファイルを削除する

フルバックアップファイルが不要になった場合は、ファイルを削除してコストを削減できます。

  1. ApsaraDB RDSコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、バックアップ をクリックします。

  2. 必要な完全バックアップファイルを見つけて、バックアップ ID/バックアップ名 列の右側にある 操作 列の 削除 をクリックします。

  3. 表示されたメッセージボックスで、OK をクリックします。

その他の操作の実行

  • 表示項目の設定: アイコンをクリックすると、[ユーザーバックアップ] タブで列を表示または非表示にできます。 デフォルトでは、すべての列が表示されます。

    1. ApsaraDB RDSコンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、バックアップ をクリックします。

    2. タブの右上隅にあるアイコンをクリックし自定义列表项ます。 表示されるダイアログボックスで、表示または非表示にする列を選択し、右または左アイコンをクリックして列を管理します。

      説明

      左側のリストの列は非表示になり、右側のリストの列は表示されます。

    3. [OK] をクリックします。

  • インスタンスリストのエクスポート: アイコンをクリックすると、バックアップ情報をCSVファイルとしてエクスポートできます。

    1. ApsaraDB for RDS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、[バックアップ] をクリックします。

    2. タブの右上隅にあるアイコンをクリックして导出资源列表、バックアップ情報をエクスポートします。

  • 更新: アイコンをクリックして、[ユーザーバックアップ] タブを更新できます。

    1. ApsaraDB for RDS コンソールにログインします。 上部のナビゲーションバーで、リージョンを選択します。 左側のナビゲーションウィンドウで、[バックアップ] をクリックします。

    2. アイコンをクリックして、刷新[ユーザーバックアップ] タブを更新します。

付録1: UbuntuオペレーティングシステムにPercona XtraBackupをインストールする

MySQLバージョンに基づいてインストールするPercona XtraBackupバージョンを選択します。

MySQL 5.7

  1. Percona XtraBackupをインストールします。

    wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.29/binary/redhat/8/x86_64/percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
    yum localinstall percona-xtrabackup-24-2.4.29-1.el8.x86_64.rpm
  2. qpressツールをインストールします。

    sudo apt-get install -y qpress
    説明

    qpressは、Percona XtraBackupによって生成されたバックアップファイルを解凍するために使用されます。 Ubuntuオペレーティングシステムを使用している場合、Percona XtraBackupはqpressと統合されていないため、qpressをインストールする必要があります。

説明

上記の手順のいずれかを実行したときに、[次のパッケージの依存関係が満たされていない] に似たメッセージが表示された場合は、apt-get -f installコマンドを実行して必要な依存関係パッケージをインストールします。 次に、ステップをもう一度実行します。

MySQL 8.0

  1. Percona XtraBackupをインストールします。

    wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.35-31/binary/redhat/8/x86_64/percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
    yum localinstall percona-xtrabackup-80-8.0.35-31.1.el8.x86_64.rpm
  2. qpressツールをインストールします。

    sudo apt-get install -y qpress
    説明

    qpressは、Percona XtraBackupによって生成されたバックアップファイルを解凍するために使用されます。 Ubuntuオペレーティングシステムを使用している場合、Percona XtraBackupはqpressと統合されていないため、qpressをインストールする必要があります。

説明

上記の手順のいずれかを実行したときに、[次のパッケージの依存関係が満たされていない] に似たメッセージが表示された場合は、apt-get -f installコマンドを実行して必要な依存関係パッケージをインストールします。 次に、ステップをもう一度実行します。

付録2: UbuntuオペレーティングシステムにGoとUnzipをインストールする

  • Goプログラミング言語をインストールします。

    sudo apt-get install -y software-properties-common
    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install -y golang-go
  • Unzipユーティリティをインストールします。

    sudo apt-get -y install unzip

付録3: 完全バックアップを実行し、完全バックアップファイルをコンピューターに保存してから、完全バックアップファイルをOSSバケットにアップロードします。

  1. 自己管理MySQLインスタンスのすべてのデータをオンプレミスマシンにバックアップします。

    MySQLのバージョンに基づいて実行するコマンドを選択します。

    MySQL 5.7

    innobackupex --backup --host=<The IP address of the host in which the self-managed MySQL instance resides> --port=<The port that is used to connect to the self-managed MySQL instance> --user=<The username of the root account that is used to connect to the self-managed MySQL instance> --password=<The password of the root account that is used to connect to the self-managed MySQL instance> --stream=xbstream --compress <The temporary directory that is used to store the full backup file> > /<The directory that is used to store the full backup file>/<The name of the full backup file>_qp.xb

    例:

    innobackupex --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream --compress /root/mysql/data > /root/backup_qp.xb

    MySQL 8.0

    xtrabackup --backup --host=<The IP address of the host in which the self-managed MySQL instance resides> --port=<The port that is used to connect to the self-managed MySQL instance> --user=<The username of the root account that is used to connect to the self-managed MySQL instance> --password=<The password of the root account that is used to connect to the self-managed MySQL instance> --stream=xbstream <The temporary directory that is used to store the full backup file> > /<The directory that is used to store the full backup file>/<The name of the full backup file>_qp.xb

    例:

    xtrabackup --backup --host=127.0.0.1 --port=3306 --user=root --password=Aa123456@ --stream=xbstream /root/mysql/data > /root/backup_qp.xb
  2. OSS_Streamを使用して、完全バックアップファイルをOSSバケットにアップロードします。

    cat /<The directory that is used to store the full backup file>/<The name of the full backup file>_qp.xb | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI5tCqY18jvvKk******** -accessKeySecret 4A5Q7ZVzcYnWMQPysXFxld******** -bucketName test -endpoint oss-********.aliyuncs.com -objectName backup_qp.xb

    例:

    cat /root/backup_qp.xb | ./mysql-backup-helper-master/oss_stream/oss_stream -accessKeyId LTAI5tCqY18jvvKk******** -accessKeySecret 4A5Q7ZVzcYnWMQPysXFxld******** -bucketName test -endpoint oss-********.aliyuncs.com -objectName backup_qp.xb

付録4: 制限

項目

説明

MySQL バージョン

自己管理型MySQLインスタンスは、次のいずれかのMySQLバージョンを実行する必要があります。

  • MySQL 5.7.32以前

  • MySQL 8.0.18以前

説明
  • セルフマネージドMySQLインスタンスは、ターゲットRDSインスタンスと同じMySQLバージョンを実行する必要があります。 たとえば、MySQL 5.7を実行するセルフマネージドMySQLインスタンスのバックアップデータは、MySQL 5.7を実行するRDSインスタンスにのみ復元できます。

  • MySQLバージョンが要件を満たしていない場合は、「セルフマネージドMySQLデータベースからApsaraDB RDS for MySQLインスタンスへのデータ移行」の手順に基づいてデータを移行できます。

自己管理型MySQLインスタンス

  • 自己管理型MySQLインスタンスのデータは、インスタンスが存在するホストのdatadirディレクトリに格納する必要があります。 CLIで次のコマンドを実行して、datadirディレクトリにアクセスできます。mysqladmin -u <セルフマネージドMySQLインスタンスへの接続に使用されるルートアカウントのユーザー名> -p <セルフマネージドMySQLインスタンスへの接続に使用されるルートアカウントのパスワード> variables | grep datadir

  • innodb_data_file_pathパラメーターをデフォルト値ibdata1に設定する必要があります。

バックアップ

  • 自己管理型MySQLインスタンスの完全バックアップが完了すると、自己管理型インスタンスで生成された増分データは完全バックアップファイルに含まれません。

  • 自己管理型MySQLインスタンスがMySQL 5.7を実行する場合、Percona XtraBackup 2.4を使用してインスタンスをバックアップする必要があります。

  • Percona XtraBackupを使用して自己管理型MySQLインスタンスをバックアップする場合、-- tables-- tables-exclude-- tables-file-- databases、または -- databases-fileオプションを設定できません。

  • OSSバケットから暗号化されたオブジェクトを読み取ることはできません。 したがって、OSSバケットを作成するときは、Encryption MethodパラメーターをNoneに設定する必要があります。

  • 差分バックアップファイルとログバックアップファイルはサポートされていません。

  • フルバックアップファイルの名前に特殊文字を含めることはできません。 完全バックアップファイルの名前に特殊文字が含まれている場合、ファイルをターゲットRDSインスタンスにインポートできません。

  • ApsaraDB RDSのサービスアカウントにOSSバケットへのアクセスを許可すると、Resource access Management (RAM) にAliyunRDSImportRoleという名前のRAMロールが作成されます。 このRAMロールを変更または削除しないでください。 このRAMロールを変更または削除した場合、ApsaraDB RDSはOSSバケットからオブジェクトをダウンロードできません。

  • 移行が完了する前に、OSSバケットから完全バックアップファイルを削除しないでください。 移行が完了する前に完全バックアップファイルを削除すると、移行は失敗します。

  • OSSバケットにオブジェクトとして保存される完全バックアップファイルは、_QP.XB形式である必要があります。 または、_QP.XB形式のファイルをTAR.GZ形式のパッケージに圧縮し、そのパッケージをオブジェクトとしてOSSバケットに保存することもできます。

    説明

    完全バックアップファイルが次のような形式の場合. xbstream形式完全なバックアップファイルを自己管理型MySQLインスタンスに復元し、ファイル形式を_QP.XB次に、自己管理型MySQLインスタンスのデータをRDSインスタンスに移行します。 または、他のクラウド移行ソリューションを使用できます。 詳細については、「自己管理型MySQLデータベースからApsaraDB RDS For MySQLインスタンスへのデータの移行」をご参照ください。

OSS

  • CLIを使用して完全バックアップファイルを部品のセットとしてOSSバケットにアップロードする場合は、ファイルのサイズが16テラバイトを超えないようにする必要があります。 詳細については、「制限事項」をご参照ください。

  • OSSバケットは、ターゲットRDSインスタンスと同じリージョンに存在する必要があります。

復元

  • 自己管理型MySQLインスタンスのデータは、新しいRDSインスタンスにのみ移行できます。 これにより、意図しない操作による既存のRDSインスタンスのデータの上書きを防ぐことができます。

  • 自己管理MySQLインスタンスのデータを、ストレージ容量が自己管理MySQLインスタンスのデータ量よりも少ないRDSインスタンスに移行することはできません。 詳細については、「プライマリ ApsaraDB RDS インスタンスタイプ」をご参照ください。

  • OSSバケットからApsaraDB RDSに完全バックアップファイルをインポートすると、ApsaraDB RDSは一時RDSインスタンスを作成し、完全バックアップファイルを一時RDSインスタンスにインポートしてから、一時RDSインスタンスから移行先RDSインスタンスにデータを復元します。 一時RDSインスタンスのデフォルトのストレージ容量は、フルバックアップファイルのサイズの5倍です。 フルバックアップファイルをインポートした後、一時RDSインスタンスの使用可能なストレージが不十分な場合は、一時RDSインスタンスのストレージ容量を増やすことができます。

  • 自己管理型MySQLインスタンスのアカウント、カスタム関数、およびストアドプロシージャは、移行先RDSインスタンスに移行できません。 アカウント、カスタム関数、およびストアドプロシージャを記録する必要があります。 移行が完了したら、アカウント、カスタム関数、およびストアドプロシージャを移行先RDSインスタンスに手動で追加する必要があります。

  • セルフマネージドMySQLインスタンスのタイムゾーン情報は、移行先RDSインスタンスに移行できません。 タイムゾーン情報を記録する必要があります。 移行が完了したら、移行先RDSインスタンスのタイムゾーンを手動で設定する必要があります。

  • 移行先RDSインスタンスは、標準SSDを使用してRDS Basic EditionでMySQL 5.7またはMySQL 8.0を実行する従量課金インスタンスである必要があります。

レプリケーション

  • データは、グローバルトランザクション識別子 (GTID) のみに基づいて複製できます。 そのため、セルフマネージドMySQLインスタンスでGTIDベースのレプリケーションを有効にし、gtid_modeパラメーターとenforce_gtid_consistencyパラメーターをONに設定する必要があります。

  • バックアップ検証レコードのデフォルトの保持期間は7日です。 ApsaraDB RDSは、7日前に生成されたバックアップ検証レコードとこれらのレコードのスナップショットを自動的に削除します。 そのため、移行が完了したら、できるだけ早い機会に自己管理型MySQLインスタンスの増分データを移行先RDSインスタンスにレプリケートすることを推奨します。