MySQL データベースのバックアップ プロセスに関する注意事項

MySQL データベースのバックアップ プロセスに関する注意事項

今日は、データ バックアップに関連するいくつかの点について調べ、MySQL データ バックアップに関する注意点をいくつかまとめました。簡単に共有したいと思います。

各 DBA は MySQL バックアップについて異なる理解を持っている可能性があります。バックアップは次の次元に分けられます。

ファイルタイプの分類:

1. 物理バックアップ。xtrabackup に代表される物理バックアップは、最も一般的に使用されるバックアップ方法であり、大規模なデータベースのバックアップによく使用されます。

2. mysqldump に代表される論理バックアップは、50G 未満のデータのバックアップに適しています。

バックアップ内容による分類:

1. フルバックアップは、簡単に言えば、データベースの完全なバックアップです。

2. 増分バックアップは完全バックアップに基づいています。たとえば、完全バックアップの期限が昨日の場合、昨日から今日までのデータが増分バックアップになります。

3. ログ バックアップ。ログ バックアップは、バックアップ ファイルに基づいて MySQL バイナリ ログをバックアップすることです。バイナリ ログには、MySQL の DDL および DML 操作が記録されます。バイナリ ログは、データベースの中間状態を復元するために使用できます。

今日、オンラインバックアップの内容を整理していたら、役に立つかもしれない以下の知識ポイントを見つけました。役に立ったら嬉しいです。そうでなかったら、自分の楽しみとして捉えてくださいね〜

1. xtrabackupを使用してバックアップする場合、複数のインスタンスを持つ単一のマシンの場合は、複数のMySQLインスタンスを同時にバックアップするとディスクIOに大きな影響を与えるため、異なる時間にバックアップするのが最適です。この時点で他のデータが書き込まれている場合は、

2. NFS マウントを使用して、ローカル データをリモート マシンにバックアップできます。これにより、ローカル バックアップの負荷が軽減され、ローカル ハード ディスクの問題がデータの回復に影響しないようにすることができます。この方法を適用する場合は、マシン間のネットワーク帯域幅を考慮する必要があります。アーキテクチャ図は次のとおりです。

3. xtrabackup でバックアップしたバックアップ ファイルを使用して復元する場合、2 つの手順を実行する必要があることがわかります。最初の手順は apply_log で、2 番目の手順は copy back です。バックアップが完了したら、ログを直接適用することをお勧めします。失敗した場合は、再度バックアップできます。そうでない場合、デフォルトで使用できると、復元時に問題に対処するのが難しくなります。

4. バイナリログに基づく増分リカバリも、より便利なアプローチです。一定期間ごとにフルバックアップを実行するだけでなく、定期的にバイナリログをバックアップします。この期間中、バックアップされたバイナリログを通じて、任意の時点のデータを復元できます。

5. 複数のマシンがオンラインになっている場合は、mysqldump と xtrabackup を使用してバックアップを実行し、50G などのしきい値を設定できます。データ量が 50G 未満の場合は、mysqldump の方がパフォーマンスが優れています。データ量が 50G を超える場合は、xtrabackup を使用してバックアップを実行することを検討してください。

6. データをバックアップする目的は、データを復元することです。バックアップ データの可用性を確保するには、バックアップが完了した後に復元を試みるのが最善です。

7. 大量のデータを持つインスタンスの場合、バックアップ時間が特に長く、リカバリが不便な場合があります。クロスデータセンタースレーブライブラリ方式を使用してデータをバックアップできます。このとき、遅延スレーブライブラリを構築して、メインライブラリにエラーが発生した場合にスレーブライブラリが時間内に停止し、関連するエラー操作手順をスキップできるようにします。

上記は、MySQL データベースのバックアップ プロセスの注意事項の詳細です。MySQL バックアップの詳細については、123WORDPRESS.COM の他の関連記事に注意してください。

以下もご興味があるかもしれません:
  • MySQL データベースのデータを定期的にバックアップし、指定した期間保持するシェル スクリプト
  • MySQL データベースのスケジュールされたバックアップ スクリプトの共有
  • CentOS MySQLデータベースのスケジュールバックアップを実装する方法
  • MySQL データベースのバックアップとリカバリの実装コード
  • MySQLデータベース入門:データベースバックアップ操作の詳細な説明
  • MySQLデータのバックアップとリカバリの実装方法の分析
  • MySQL スケジュールされたデータベース バックアップ操作の例
  • MySQLデータベースバックアップのさまざまな実装方法の概要
  • Linux は MySQL データベースのスケジュールされたバックアップを実装し、30 日以上前のバックアップ ファイルを削除します。
  • Linux は定期的に MySQL データベースをバックアップし、以前のバックアップ ファイルを削除します (推奨)
  • Mysql 複数データベースのバックアップ コード例
  • MySQLデータのバックアップ方法の選択と考え方

<<:  JavaScriptの基本構文とデータ型の詳細な説明

>>:  Tomcat 例外の解決方法 (リクエスト ターゲットに無効な文字が見つかりました。有効な文字は RFC 7230 および RFC 3986 で定義されています)

推薦する

JavaScript の重要なブレークポイント デバッグ手法の概要 (推奨)

目次デバッガーを使用する理由は何ですか? Chromeデバッガーの基本的な使い方VS Code によ...

MySQL 5.7 でパスワードを忘れた場合の解決方法の詳細な説明

環境: [root@centos7 ~]# uname -r 3.10.0-514.el7.x86_...

HTML 代替カラーコードを実現する n 通りの方法 サンプルコード

この記事では、主に HTML のサンプル コードを紹介し、次のように交互に色を変更する方法を共有しま...

LeetCode の SQL 実装 (182. 重複するメールボックス)

[LeetCode] 182.重複メールPerson という名前のテーブル内のすべての重複メールを...

nodejs + koa + typescript の統合と自動再起動に関する問題

目次バージョンノートプロジェクトを作成する依存関係をインストールするコンテンツの記入src/serv...

MySQL でテーブル メタデータ ロックを待機する理由と方法

MySQL が alter table などの DDL 操作を実行すると、テーブル メタデータ ロッ...

一般的な JavaScript 文字列メソッド 28 個と使用方法のヒントのまとめ

目次序文1. 文字列の長さを取得する2. 文字列の指定された位置の値を取得する(1) charAt(...

Linux 負荷分散 LVS の詳細な理解

目次1. LVS 負荷分散2. 負荷分散LVSの基本紹介3. LVSアーキテクチャ3.1 ロードバラ...

React Nativeはモニタリングジェスチャーの上下プル効果を実現します

React Native は、プルアップとプルダウンの監視ジェスチャを実装します。詳細なコアコードは...

ユーザーがフォームを繰り返し送信するのを防ぐ方法の概要

重複したフォーム送信は、マルチユーザー Web アプリケーションで最も一般的で厄介な問題です。重複送...

Tik Tok サブスクリプション ボタンのアニメーション効果を実現する CSS

少し前にTik Tokを見ていて、フォローするときのボタンアニメーションがとても美しいと思ったのと、...

HTML 基本要約推奨事項 (テキスト形式)

HTMLテキスト書式タグ 標簽 描述 <b> 定義粗體文本 <em> 呈現...

CSS はコンテナ レベル (div...) タグを 1 つの位置 (ページの右端) に固定します。

コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...

ドラッグフォトウォールを実現するネイティブJS

この記事では、ネイティブ JS で実装されたドラッグ可能な写真ウォールを紹介します。効果は次のとおり...

フロントエンドのパフォーマンス最適化 - フロントエンドエンジニアが話し合うべき問題点

はじめに<br />前回の記事「私の CSS アーキテクチャ コンセプト」では、公園で友...