史上最も簡単な MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 37)

史上最も簡単な MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 37)

データのバックアップと復元パート3の詳細は次のとおりです

基本的な概念:

バックアップ、現在のデータまたはレコードの別のコピーを保存します。

復元: データをバックアップ時の状態に復元します。

なぜデータのバックアップと復元が必要なのでしょうか?

データ損失を防ぐ;

データレコードを保護します。

データのバックアップと復元にはさまざまな方法があり、データ テーブル バックアップ、単一テーブル データ バックアップ、SQL バックアップ、増分バックアップに分けられます。

SQL バックアップ

SQL バックアップは SQL ステートメントをバックアップします。 SQL バックアップを実行する場合、システムはテーブル構造とデータを処理し、対応する SQL ステートメントに変換してから、バックアップを実行します。復元するときは、バックアップされた SQL ステートメントを実行するだけです。このバックアップ方法は、主にテーブル構造を対象としています。

ただし、MySQL では SQL バックアップの手順は提供されていません。SQL バックアップを実行する場合は、MySQL が提供するソフトウェア mysqldump.exe を使用する必要があります。また、mysqldump.exe はクライアントでもあるため、サーバーを操作する際には認証を行う必要があります。

基本構文: mysqldump.exe -hPup + データベース名 + [テーブル名 1 + [テーブル名 2]] > バックアップ ファイル ディレクトリ

そのうち、-hPupは

h: IP またはローカルホスト;

P: ポート番号;

u: ユーザー名;

p: パスワード。

mysqldump.exe もクライアントなので、上記のコマンドを実行するには、まず MySQL クライアントを終了し、コマンド ライン ウィンドウで次のコマンドを実行する必要があります。

mysqldump.exe -uroot -pbin.guo テストクラス > D:/CoderLife/testMySQL/classSQL.sql

1

上図に示すように、mysqldump は警告 (コマンドラインでパスワードを入力するのは安全ではありません) を出しましたが、入力したコマンドは正常に実行されました。ここで、上記のコマンドが正常に実行されない場合は、環境変数が設定されていない可能性があります。

2

上の図に示すように、testMySQL ディレクトリにテーブル クラスの SQL バックアップが生成されています。SQL バックアップの内容については、classSQL.sql ファイルを開いて確認できます。

3

上図に示すように、SQL でバックアップされたファイルには、テーブルの作成やデータの挿入などのさまざまな SQL 文が含まれています。

また、上記の SQL バックアップを実行するための基本構文では、テーブル名が[]で囲まれていることがわかります。これはオプション項目を示しています。テーブル名を入力しない場合は、デフォルトでデータベース全体がバックアップされます。実行プロセスは上記と同じなので、デモンストレーションは行いません。

次に、次の 2 つの方法で SQL バックアップ ファイルからデータを復元する方法を説明します。

方法 1 : mysql.exe クライアントを使用してデータを復元する

基本構文mysql.exe/mysql -hPup データベース名 + データベース名 + [テーブル名1 + [テーブル名2]] < バックアップファイルディレクトリ

テストするには、コマンド ライン ウィンドウで次のコマンドを実行します。

-- MySQLクライアントにログインする mysql -uroot -p

-- パスワードを入力してデータベース使用テストに切り替えます。

-- クラス テーブルのデータを削除します。delete from class;

-- データベースを終了\q

-- SQL バックアップ ファイル mysql -uroot -pbin.guo test < D:/CoderLife/testMySQL/classSQL.sql を通じてデータを復元します

4

上の図に示すように、上記のコマンドはすべて正常に実行されました。次に、復元結果を確認します。

5

上図に示すように、テーブルクラスのデータが削除された後、SQL バックアップ ファイルを通じてデータを復元しました。

方法2 : SQLコマンドを使用してデータを復元する

基本構文ソース + バックアップ ファイル ディレクトリ。

上記の SQL ステートメントを実行してテストします。

-- クラス テーブル データを表示します。select * from class;

-- テーブル クラス データを削除します。delete from class;

-- クラス テーブル データを表示します。select * from class;

-- SQL バックアップ ファイル ソース D:/CoderLife/testMySQL/classSQL.sql を使用してデータを復元します。

-- クラス テーブル データを表示します。select * from class;

6
7

上図に示すように、テーブル クラスのデータが削除された後、SQL バックアップ ファイルを使用して 2 番目の方法を使用してデータを復元しました。

上記の調査とテストを通じて、SQL バックアップの利点と欠点がわかります。

利点: テーブル構造をバックアップできます。欠点: 追加の SQL コマンドを追加するとディスク領域が浪費されます。

増分バックアップ

増分バックアップでは、データや SQL はバックアップされませんが、MySQL サーバーのログがバックアップされます。ログの内容には、追加、削除、変更、クエリなど、データベースに対するさまざまな操作の履歴レコードが含まれます。また、増分バックアップは指定された期間ごとに実行されるため、バックアップされたデータは重複することがなく、大規模プロジェクトのデータバックアップによく使用されます。ここでは詳しく紹介しません。この部分については、今後、増分バックアップの実行方法について別のブログ記事を書く予定です。

ヒント: 記号 [] で囲まれた内容はオプション項目を示し、記号 + は接続を意味します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • 史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 1) (パート 35)
  • 史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 2) (パート 36)
  • MySQLデータのバックアップとmysqldumpの使い方の詳細な説明
  • Linux で MySQL データをバックアップおよび復元するためのコマンドの使用に関する完全なガイド
  • 例を通してMySQLパーティションテーブルの原理と一般的な操作を学びます

<<:  CentOSにPHP+Apache+MySQLのサーバー環境をインストールして構築する

>>:  JavaScript データ型の詳細な説明

推薦する

クエリプロファイラを使用して MySQL ステートメントの実行時間を表示する方法

前回の記事では、MySQL ステートメントの実行時間をチェックする 2 つの方法を紹介しました。今日...

MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

テーブル構造は次のとおりです。 id varchar(32) 情報JSONデータ: id = 1 i...

キャンバスはスクラッチカード効果を描画します

この記事では、キャンバスでスクラッチカード効果を描画するための具体的なコードを参考までに共有します。...

Centos で MySQL パスワードを変更する方法

1. MySQL ログイン設定を変更します。 # vim /etc/my.cnf文を追加: skip...

VUE 3 テレポート コンポーネントと使用構文をすぐに使い始める

目次1. テレポートの紹介1.1. 複数のテレポートを使用する2. テレポートを使用する理由3. テ...

JavaScript 配列の include と Reduce の基本的な使用法

目次序文配列.プロトタイプ.includes文法パラメータ戻り値例配列プロトタイプの削減文法パラメー...

JavaScript の基本演算子

目次1. オペレーター要約する1. オペレーター演算子は、代入、比較、算術演算などの機能を実装するた...

CentOS 6.x のインストール時に発生するエラー「ディスク sda に BIOS RAID メタデータが含まれています」の解決方法

今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...

Linux 上での Go 環境の構築のインストールと設定の説明

Linux で Go 環境を構築するのは非常に簡単です。 1. go1.2.1.linux-386....

Linux でのデータベースのスケジュールバックアップの実装スクリプト

目次シナリオ: サーバーデータベースを毎日定期的にバックアップする必要がある1. まずバックアップス...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

CSS を使用して複数の方法で等幅レイアウトを実装するサンプルコード

この記事で説明する等幅レイアウトでは、純粋な CSS を使用して、要素の幅を手動で設定することなく、...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...

impress.js プレゼンテーション層フレームワーク (デモツール) - 初めての体験

半年もブログを書いていなかったので、少し恥ずかしいです... 正月休みは、Dota をプレイしたり ...