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

:ダウンロードしたバックアップデータを復元する

最終更新日:Oct 17, 2024

このトピックでは、ダウンロードしたバックアップデータをデータベースに復元する方法について説明します。

前提条件

  • バックアップデータがダウンロードされます。 詳細については、「バックアップセットの手動ダウンロード」または「バックアップセットの自動ダウンロードの設定」をご参照ください。

  • データベースサービスは、バックアップデータを復元するサーバーにデプロイされます。 たとえば、バックアップデータをMySQLデータベースに復元する前に、特定のバージョンのMySQLサービスがサーバーにデプロイされていることを確認します。

  • データベースバックアップ (DBS) 組み込みストレージは、データをバックアップするためにサポートされています。 Object Storage Service (OSS) はサポートされていません。

物理バックアップのダウンロードしたデータを復元する

ダウンロードしたバックアップデータの使用状況に関する注意事項

  • MySQLデータは、Percona XtraBackupのデータと同じ形式で圧縮されています。

  • SQL Serverのデータは、ネイティブバックアップコマンドによって生成されたデータと同じ形式であり、圧縮されています。

次の図は、MySQLデータベースの物理バックアップのダウンロードされたバックアップデータの例を示しています。物理备份下载数据

手順

  1. ダウンロードが完了したら、ダウンロードしたパッケージを解凍します。 デフォルトでは、バックアップセットは <Download task ID>.tar.gzパッケージに圧縮されています。

    次のコマンドを実行して、ダウンロードしたパッケージを解凍します。

    1. gzip -d <Download task ID>.tar.gzコマンドを実行し、<Download task ID>.tarファイルを取得します。

    2. gzipコマンドの実行後、file <Download task ID>.tarコマンドを実行してファイル形式を表示します。

      • ファイル形式がPOSIX tar archiveの場合、tar xvf <Download task ID>.tarコマンドを実行して <Download task ID> ファイルを取得します。

      • ファイル形式がZipアーカイブデータ、少なくともv2.0で抽出の場合、unzip <Download task ID>.tarコマンドを実行して <Download task ID> ファイルを取得します。

  2. データベースを起動します。

    MySQLデータベースを起動する場合は、次の操作を実行します。

    1. my.cn fファイルのdatadirパラメーターを、データが復元されるディレクトリに設定します。 my.cn fファイルは、データベースの構成ファイルです。

    2. データベースを起動します。 たとえば、次のコマンドを実行して、Linuxオペレーティングシステムでデータベースを起動できます。

      service mysqld start

論理バックアップのダウンロードしたデータを復元する

ダウンロードしたバックアップデータの使用状況に関する注意事項

ダウンロードされたバックアップデータには、データベースにテーブルとSQLデータを作成するために使用されるDDL文が含まれます。

次のコードは、MySQLデータベースの論理バックアップのダウンロードされたデータの例を示しています。

サンプルDDLステートメント

CREATE TABLE `rds_db`.`orders` (
`order_id`  bigint(20)     COMMENT ''    ,
`product_name`  varchar(32)  CHARSET `utf8` COLLATE `utf8_general_ci`    COMMENT ''    ,
`price`  double     COMMENT ''    ,
`total_amount`  double     COMMENT ''    ,
`created_date`  date     COMMENT ''
) engine=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` comment = '' ;
CREATE TABLE `rds_db`.`rds_table` (
`id`  int(11)     COMMENT ''    ,
`price`  decimal(10,2)     COMMENT ''    ,
`trx_time`  timestamp   on update CURRENT_TIMESTAMP  COMMENT ''   NOT NULL   DEFAULT CURRENT_TIMESTAMP
) engine=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=`utf8` DEFAULT COLLATE `utf8_general_ci` comment = '' ;

サンプルSQLデータ

gmt_create,id
"2020-08-06 12:00:00","1"
"2020-08-06 12:00:01","2"
"2020-08-06 12:00:02","3"
"2020-08-06 12:00:03","4"
"2020-08-06 12:00:04","5"
"2020-08-06 12:00:05","6"
"2020-08-06 12:00:06","7"
"2014-09-06 15:56:07","8"

手順

  1. ダウンロードが完了したら、ダウンロードしたパッケージを解凍します。 デフォルトでは、バックアップセットは <Download task ID>.tar.gzパッケージに圧縮されています。

    説明

    次のコマンドは、Linuxオペレーティングシステムにのみ適用されます。

    次のコマンドを実行して、ダウンロードしたパッケージを解凍します。

    mkdir download && tar -zvxf 1jewk54******.tar.gz -C ./download
  2. DDLステートメントに基づいてテーブルスキーマを復元し、SQLデータをインポートします。

    たとえば、import.pyスクリプトを使用して、MySQLデータベースの完全バックアップデータを復元できます。 この方法を使用する前に、Python 3をサーバーにインストールする必要があります。 完全バックアップデータを復元するには、次のコマンドを実行します。

    python import.py ./download/ <restore_db_host> <restore_db_port> <restore_db_user> <restore_db_password>

    例:

    python import.py ./download/ 127.0.0.1 3306 root password123

    パラメーター

    説明

    . /ダウンロード /

    バックアップデータがダウンロードされるパス。

    restore_db_host

    バックアップデータを復元するターゲットデータベースのIPアドレス。

    restore_db_port

    バックアップデータを復元するターゲットデータベースのポート番号。

    restore_db_ユーザー

    ターゲットデータベースへのログインに使用されるアカウント。

    restore_db_password

    ターゲットデータベースへのログインに使用されるパスワード。

よくある質問

Q: ダウンロードしたバックアップデータを自己管理型のMySQLデータベースに復元するときに、「エラー1148 (42000): 使用したコマンドはこのMySQLバージョンでは使用できません」というエラーメッセージが表示された場合はどうすればよいですか?

A: 自己管理MySQLデータベースでSHOW VARIABLES LIKE 'local_infile'; ステートメントを実行します。 出力にOFFが表示されている場合は、set global local_infile = 1; 文を実行してファイルのインポートを有効にします。 上記の操作が実行されたら、インポートスクリプトを再度実行します。