この記事では主に、mysql での mydumper と mysqldump の比較と使用方法について詳しく説明します。MySQL データベース バックアップ ツールには、mysql の公式バックアップ ツールである独自の mysqldump があります。ただし、サードパーティのバックアップ ツール mydumper は、その優れた機能により、より多くの人に使用されています。次に、それらの間のバックアップ効率をテストによって検証します。
少数のテーブルまたは単一のライブラリのみをバックアップする場合は、mysqldump と mydumper の方が innobackup よりも便利ですが、mydumper には、マルチスレッド バックアップ、定期的な一致バックアップ、グループ化、セルフテスト機能など、比較的多くの機能が追加されています。さらに、mydumper と mysqldump は本質的に同じエクスポート論理データであり、オンライン ホット スタンバイ innodb をサポートしていません。もちろん、innobackup を使用して一部のテーブル データをバックアップすることもできますが、これは mydumper や mysqldump と同じタイプのバックアップ方法ではありません。 mysqldump であるため、以下では mydumper と mysqldump のみをテストします。
mydumper export
以下に示すように、mydumper ツールを使用して 8 スレッドのテスト (9.4G) データをエクスポートします。
ディレクトリ /data/mysql_bak に、ライブラリの各テーブルがテーブル定義とデータの 2 つのファイルとして保存されます。 mydumper -B test --regex 'test.*' -c -e -G -E -R --use-savepoints -h 10.0.21.5 -u root -P 3301 -p xxxxxx -t 8 -o /data/mysql_bak/
# cat metadata Started dump at: 2017-05-19 10:48:00 SHOW MASTER STATUS: Log: mysql-bin.000406 Pos: 2165426 GTID:(null) SHOW SLAVE STATUS: Host: 10.144.127.4 Log: mysql-bin.000419 Pos: 506000361 GTID:(null) Finished dump at: 2017-05-19 10:50:03
mysqldump。以下に示すように、デフォルトの mysqldump ツールを使用してライブラリをエクスポートし、圧縮します。
# time mysqldump -B test -E -R -h 10.0.21.5 -u root -P 3301 -p | gzip >/data/test.sql.gz Enter password: real 3m19.805s user 4m47.334s sys 0m10.395s
real 1 行は、mysqldump の全体の実行時間が 199.8 秒であることを示しています
概要
オン全体的にはデータが少ないため、mysqldump と mydumper の時間差は大きくありませんが、ほとんどの場合、データの送信に時間がかかります。また、ライブラリが十分に大きければ、mydumper の利点を反映できます。 Mydumper の上位バージョンの構文変更により、下位バージョンの mydumper では次のようなエクスポート エラーが発生します。上位バージョンでもこの問題は依然として存在するため、公式 github コードを参照して、対応するコードを変更できます。
関連する推奨事項:
mydumper のインストールの詳細mydumper の原理の詳細な紹介
以上がmysqlにおけるmydumperとmysqldumpの比較と使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。