アリクラウドRDS(MySQLの)データベースのリカバリ

状態は明らかに:これは単なるログです、それはすべての後、私は過去のデータのクエリのための開発環境に戻るには、データのダウンロード(部品表)の後に本番環境だ、あまりにも厳格ではありません。

アリクラウドからダウンロードhins8247923_data_20191118055735_qp.xbはとして扱わ* _qp.xbデータベースは、以下のこと:
まず、Percona XtraBackupのバックアップとリカバリツールのオープンソースをインストール:
オペレーティングシステムのインストール、データ復旧ツールPercona XtraBackup、Percona XtraBackupは公式サイトからダウンロードしてインストールすることができます。
5.6とPercona XtraBackup 2.3をインストールするMySQLの必要性の以前のバージョン、インストール手順を参照してくださいhttps://www.percona.com/doc/percona-xtrabackup/2.3/installation.html?spm=a2c4g.11186623.2.13.3f4d30eb5k7pdZ
のMySQL 5.7のバージョンが必要ですインストールPercona XtraBackup 2.4、インストール手順を参照してくださいhttps://www.percona.com/doc/percona-xtrabackup/2.4/installation.html?spm=a2c4g.11186623.2.14.3f4d30eb5k7pdZ
MySQLのバージョン8.0は、Percona XtraBackup 8.0、インストールガイドをインストールする必要がありますhttps://www.percona.com/doc/percona-xtrabackup/8.0/installation.html?spm=a2c4g.11186623.2.15.3f4d30eb5k7pdZを参照してください
、私はCentOS7.6機、MySQLバージョン5.7だったのでそう、:
YUMインストールhttps://repo.percona.com/yum/percona-release-latest.noarch.rpmを
一覧yumを| grepをPercona
yumをPercona-xtrabackup-24インストール
さらには、qpressをインストールするには、このコマンドを使用することができますinnobackupexのunzipコマンドyumをqpressインストール-yインストールしてください。
第二には、ファイル解凍し
xbstreamパッケージ(_qp.xbサフィックス)のために、次のコマンドを使用します。

開梱

猫<データバックアップファイル名> _qp.xb | xbstream -x -v -C /ホーム/ mysqlの/データ

減圧

innobackupex --decompress --remove-元/ホーム/ mysqlの/データ
第三に、物理的なファイルのコピーが復元
対応するMySQLのWindowsマシンに1.直接物理コピーファイルを、はい、これは私の開発マシンで、WebとDBプット理由同じマシン上のWindows、生産が分離されている
適切な場所に2.コピーして、あなたがしたいデータベース名に他の名前に変更するには、古いデータベースフォルダの名前を変更し
、対応するテーブルに3. mysqlのクエリを、エラー:
MySQLの>使用xxxbakDB
; MySQLは> UserStudent SELECT * FROM
表領域は、表のために不足している:ERROR 1812(HY000)はsaplatformdbuserstudent
:次のコマンドを入力します
。MySQLの> ALTER表UserStudentインポートTABLESPACE
:がある場合は
、スキーマの不一致(表ROW_TYPE_DYNAMIC行の形式になっています。ERROR 1808(HY000)を.ibd
ファイルは、フォーマットROW_TYPE_COMPACT行を有する。)
と一致しないフォーム定義テーブルスペース行フォーマットの説明は、以降の処理を継続する必要があります。
4.最初のデータ・ファイルの削除UserStudent.idb
のMySQLに>表Studentfollowlogは、ALTER TABLESPACEを破棄し、
クエリステートメントを構築する5.表示テーブル:
mysqlの>テーブルUserStudentを作成示し、
次の文のブロックのようになります、それをコピーします。

CREATE TABLEをUserStudent
Idint型(11)NOT NULL AUTO_INCREMENTのCOMMENT '自增ID'、
.......
KEY idx_etEndDateBTREEを使用)
)ENGINE = InnoDBのAUTO_INCREMENT = 29172 DEFAULT CHARSET = utf8をROW_FORMAT = COMPACT COMMENT = '【用户任务表】」;

上記の文をコピーして、変更ROW_FORMAT = ROW_FORMAT = DYNAMICまたはROW_FORMAT = COMPACTと一致します。

間に小さなエピソードがあります:
:テーブルステートメントまたは他のクエリを実行建てディスプレイは、MySQLサービスを直接ダウンは、my.iniファイルに次のセクションを追加し、閉じたまま
[mysqldを]
innodb_force_recovery = 4
エンドは、クエリ、その後、再起動を修正しますテーブルUserStudentを作成示し;
注:とき新聞ERROR 1874(HY000)の後ろにテーブルを構築した場合:InnoDBはある読み取り専用モードで
のmy.iniがでコメントを覚えて
、[mysqldを]
#innodb_force_recovery = 4
その後、MySQLサービスを再起動します

5.テーブルを削除してテーブルを再構築する:
MySQLの>表ドロップUserStudent;
MySQLの> CREATE TABLE UserStudent
.....(上記省略するがその部分である)
がある場合:ERROR 1808(HY000):スキーマのミスマッチ(表ROW_TYPE_DYNAMIC行を有するが。フォーマット、持っていROW_TYPE_COMPACT行)はファイル形式をの.ibd
COMPACT ROW_FORMAT =:あなたは最後の行を指定したい場合はCREATE TABLE
6.この時点で、あなたがデータを照会する必要がない場合は以下を参照してください
MySQLは> SELECT ; UserStudentから上限0,10
がある場合:mysqlのは>を選択します
; 0,10 UserStudent限界から
ERROR 1812(HY000):「表表領域のためのものであるがありませんxxxxdbUserStudent」。
以下の操作を実行して
、MySQLの> ALTERテーブルUserStudent廃棄表領域
、ファイルのバックアップコピーこれは、本UserStudent.ibdデータベースの場所へ入力:
MySQLの>表UserStudentインポートALTER TABLESPACE;
再確認クエリ、クエリがテーブル通常、一般的な場合であってもよいです。
UserStudent制限0,10からのmysql> SELECT * FROM。

おすすめ

転載: blog.51cto.com/soulful/2451942