500GBのデータベースAサイズがあります。データベースAのテーブルには、MyISAMテーブルとINNODBテーブルの両方が含まれています。MyISAMテーブルはマスターテーブルで、Innodbテーブルはメイントランザクションテーブルです。
mysqlダンプを使用してバックアップと復元を行うと、長時間または数日で終了します。
- max_allowed_packet = 1G
- foreign_key_checks = 0
- auto_commit =オフ
500GBのデータベースAサイズがあります。データベースAのテーブルには、MyISAMテーブルとINNODBテーブルの両方が含まれています。MyISAMテーブルはマスターテーブルで、Innodbテーブルはメイントランザクションテーブルです。
mysqlダンプを使用してバックアップと復元を行うと、長時間または数日で終了します。
回答:
ただし、このリンクでは、PerconaのXtraBackupも推奨されています。これは、より高速で、すでに使用されているテーブルをロックせず、復元の時間もありません。500 GBのデータの場合、既存のDBサーバーからのものではない場合にinnodb_file_per_tableモデルに変換したくない限り、Percona XtraBackupが迅速かつ効率的であることを好みます。以下のリンクは、続行する方法について説明します。
http://www.percona.com/doc/percona-xtrabackup/innobackupex/creating_a_backup_ibk.html
mydumperをチェックしてください。mysqldumpよりもはるかに高速です。新しいmydumper 0.6.1リリースは、パフォーマンスと使いやすさの機能を提供します
こちらからダウンロードできます:https : //github.com/maxbube/mydumper
mydumperとは何ですか?どうして?
- 並列処理(したがって、速度)とパフォーマンス(高価な文字セット変換ルーチン、効率的なコード全体を回避)
- 出力の管理がより簡単に(テーブル用の個別ファイル、ダンプメタデータなど、データの表示/解析が容易)
- 一貫性-すべてのスレッドにわたってスナップショットを維持し、正確なマスターおよびスレーブログの位置などを提供します。
- 管理性-データベースとテーブルの包含と除外を指定するPCREをサポートします
問題は、mysqldumpの停止されたダンプファイルからより速く復元する方法に関するものであり、別のバックアップソリューションに関するものではないと思います。
これを行う方法の1つは、スキーマにテーブルのグループを作成し、グループごとに個別のDBユーザーを作成し、MySQL権限を使用して、1人を除くすべてのDBユーザーを使用してテーブルを挿入できないようにすることです。
これは、実証済みの高速でほぼ並行した手法ですが、500Gからの復元にかかる時間は100%確実ではありません。しかし、私見、あなたは何か平行するものが必要です。例については、以下のリンクを参照してください。