MySQLデータのバックアップとリカバリの実装方法の分析

MySQLデータのバックアップとリカバリの実装方法の分析

この記事では、例を使用して MySQL データのバックアップと復元の方法について説明します。ご参考までに、詳細は以下の通りです。

この記事の内容:

  • ファイルのコピー法
  • mysqldump の使用
  • 選択出力ファイルの使用
  • その他(記載されているが紹介されていないもの)

発売日: 2018-04-19


すべてのデータがディスクに書き込まれるようにするために、バックアップの前にテーブルをフラッシュする必要がある場合があります。


ファイルのコピー方法:

  • myisam ストレージ エンジンのデータベースの場合、テーブル構造 (.frm)、データ (.myd)、インデックス (.myi) はすべて別々のファイルです。これらの 3 つのファイルをバックアップ スペースに直接コピーすると、正常にバックアップできます。
  • 復元に関しては、3 つのファイルをデータベース ディレクトリにコピーするだけです。


mysqldump の使用:

適用可能な状況: 基本的にはテーブル構造とデータをSQL文に復元するため、テーブル構造をバックアップできます。

バックアップ:

  • 単一テーブルのバックアップ: mysqldump -u ユーザー名 -p データベース名 テーブル名 > バックアップファイルパス
  • 複数テーブルのバックアップ: mysqldump -u ユーザー名 -p データベース名 テーブル名 1 [その他のテーブル名] > バックアップ ファイル パス
  • 単一データベースのバックアップ: mysqldump -u ユーザー名 -p データベース名 > バックアップ ファイル パス
  • 複数のデータベースをバックアップする: mysqldump -u ユーザー名 -p --databases データベース名 1 データベース名 2 [その他のデータベース] > バックアップ ファイル パス
  • すべてのデータベースをバックアップします: mysqldump -u ユーザー名 -p --all --databases > バックアップ ファイル パス

削減:

  • mysqldump -u ユーザー名 -p パスワード [データベース名] < バックアップファイルパス [データベースを指定した場合は、指定したデータベースのバックアップのみを復元します。指定しない場合は、バックアップファイル内のすべての内容を復元します]

補充:

  • mysqldump はテーブルデータのみをエクスポートすることもできます [ただし、select into outfile があるため、ここでは紹介しません]

select into outfile を使用する:

適用可能な状況: 単一テーブル データのバックアップ。テーブル構造ではなく、テーブル データのみをコピーできます。

バックアップ:

  • 構文: select *\field list from data source into outfile バックアップ ファイル ターゲット パス [fields フィールド処理] [lines 行処理]; [バックアップ ファイル ターゲット パス内のファイルは存在してはいけません]
    • フィールド処理はオプションであり、各フィールドのデータがどのように保存されるかを指定します。次のオプションがあります。
      • 囲み文字: データを囲むために使用される文字は何ですか? デフォルトは空の文字です。
      • 終了文字: フィールド データの末尾として使用される文字は何ですか? デフォルトは、バックスペース文字の \t です。
      • エスケープ方法: 特殊記号の処理方法。デフォルトは「\\」です。
      • オプションで囲む文字: データ型が文字列であるデータを囲むために使用される文字。
      • 文法:
        select * from class into outfile "d:\c1.txt" fields closed by '-';
        select * from class into outfile "d:\c1.txt" フィールドは '-' で囲まれ、オプションで "'" で囲まれます。
    • ライン処理はオプションです
      • 開始: 各行の先頭の文字列。デフォルトは空の文字列です。
      • 終了: レコードの各行の終わり。デフォルトは "\n" です。
      • 文法:
        select * from class into outfile "d:\c.txt" の 'start:' で始まる行を選択します。
        select * from class into outfile "d:\c1.txt" 'start:' で始まり '\n' で終わる行;

注: データのエクスポートを制限するために、5.7 で secure_file_priv という新しい機能が追加されました。 secure-file-priv パラメータは、LOAD DATA、SELECT ... OUTFILE、および LOAD_FILE() が転送されるディレクトリを制限するために使用されます。

image

my.iniで設定する必要がありますimageデータを通常どおりエクスポートします。

削減:

  • 構文: load date infile バックアップ ファイル パス into table テーブル名 [fields フィールド処理] [lines 行処理]; [前のフィールド処理と行処理を書き留めてください。そうしないと、データを正しく区別できません]


他の

  • バックアップ:
    • mysqlコマンドを使用してバックアップする
    • mysqlhotcopyを使用したバックアップ
    • バックアップテーブルの使用
  • 削減:
    • mysqlimport を使用してデータ ファイルをインポートします。
    • 復元を使用して復元する
    • ソースを使用して復元

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL インデックス操作スキルの概要」、「MySQL 共通関数の概要」、「MySQL ログ操作スキルの概要」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキルの概要」、および「MySQL データベース ロック関連スキルの概要」。

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • mysql5.7でbinlogを使用してデータを復元する方法
  • MySQLはbinlogを通じてデータを復元する
  • MySQLはテーブルデータを復元するためにfrmファイルとibdファイルを使用します
  • MySQLはデータ復旧を実装するためにbinlogログを使用する
  • 誤って削除されたデータを復元するための mysqlbinlog コマンドを使用した mysql の実装
  • MySQLデータを復元する2つの方法
  • MySQL データベースのバックアップとリカバリの実装コード
  • MySQLはmysqldump+binlogを使用して、削除されたデータベースの原理分析を完全に復元します。
  • MySQL バイナリログデータ復旧: 誤ってデータベースを削除した場合の詳細な説明
  • MySQLデータ復旧のさまざまな方法の概要

<<:  ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます

>>:  Ubuntuで顔認識ログインを実装するための完全な手順

推薦する

webpackでvue環境を構築する際の異常なエラーを解決する

目次まず、package.jsonを設定します次にwebpackツールをインストールしますwebpa...

React でカレンダー コンポーネントを構築するためのステップ バイ ステップ ガイド

目次事業背景テクノロジーの活用技術的な問題デザインのアイデア😱 困惑と苦痛に満ちた顔🙄考え始める🌲デ...

CSS 疑似要素を使用して複数の連続する要素のスタイルを制御する方法

CSS 疑似要素を使用して要素を制御する場合、一部の要素のスタイルを変更する必要があることがよくあり...

HTML レイヤード ボックス シャドウ効果のサンプル コード

まず、画像を見てみましょう。今日はこのエフェクトを作成します。 実は、何でもないんです。Web ペー...

複数の Docker コンテナが同じポート番号を持たない場合の解決策

背景Dockerでは、同じイメージを使用して4つのコンテナを作成します。ネットワークはブリッジモード...

Linux 圧縮ファイルコマンド zip の使用例

「.zip」形式は、Windows システムでファイルを圧縮するために使用されます。実際、「.zip...

vue+rem カスタムカルーセル効果

vue+remを使用したカスタムカルーセルチャートの実装は参考までに。具体的な内容は以下のとおりです...

HTMLフォーム属性のreadonlyとdisabledの使い方

1. readonly 読み取り専用属性なので、値を取得できます2. 無効: 無効な属性、値を取得で...

PHP クラスにおける static と self の違いの簡単な分析

メソッドが定義されているクラスに応じて、現在のクラスへの静的参照を取得するには、self:: または...

MySQL トリガーの原理と使用例の分析

この記事では、例を使用して、MySQL トリガーの原理と使用方法を説明します。ご参考までに、詳細は以...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

Linux での MySQL のアンインストールとインストールのグラフィック チュートリアル

ブログを書くのは初めてです。開発に携わって2年になります。仕事の後に何か有意義なことを見つけたいと思...

Spark SQL の 4 つの一般的なデータ ソースの詳細な説明

汎用ロード/書き込みメソッドオプションを手動で指定するSpark SQL の DataFrame イ...

ウェブデザインにおける画像フォーマットとデザインの関係を詳しく説明

なぜこの領域のコンテンツを整理したいのでしょうか。それは、油絵の具とキャンバスを理解する必要があり、...

CentOS7 ファイアウォールとオープンポートの簡単な使い方の簡単な紹介

概要(公式にはより詳しい説明があります) Firewalld は、ネットワーク接続またはインターフェ...