史上最も簡単な 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 8.0 エラー サーバーがクライアントに不明な認証方法を要求しました 解決策

最新バージョンのMySQL 8.0.11をインストールした後、ユーザーを作成して認証します。認証され...

Nginx の add_header ディレクティブに注意する必要があるのはなぜですか?

序文ご存知のとおり、nginx 構成ファイルは add_header ディレクティブを使用して応答ヘ...

CSS3 で背景の透明化と不透明テキストを実装するサンプルコード

最近、画像上に半透明の背景でテキストを表示する必要があるという要件に遭遇しました。その効果は次のよう...

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...

MySQL クラスター化インデックスのページ分割原理の分析例

この記事では、MySQL クラスター化インデックスのページ分割を例を使って説明します。ご参考までに、...

レスポンシブ原則と Vue2.0/3.0 の違いについての簡単な分析

序文vue3.0 が正式にリリースされて以来、多くの友人が vue3.0 に切り替えました。ここでは...

純粋な CSS3 で水平無限スクロールを実装するためのサンプル コード

この記事の例はすべて小さなプログラムで書かれていますが、実装される機能には影響しません。 wxmlル...

Nginx tp3.2.3 404 問題の解決

最近、Apache を nginx に変更しました。TP プロジェクトを実行に移すと、404 エラー...

Windows での自動展開に Jenkins を使用するチュートリアル図

今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...

MySQL でコミットされていないトランザクションを見つけるための SQL の例の簡単な分析

以前、「MySQL でコミットされていないトランザクション情報を検索する方法」というタイトルのブログ...

CSSアニメーションを途中で止めて姿勢を維持する方法

序文かつて、難しい問題に遭遇しました。タワークレーンからスイングハウスを落下させる必要がありましたが...

Mac 向け MySQL のインストールと設定のチュートリアル

この記事では、MacでのMySQLインストールチュートリアルを参考までに紹介します。具体的な内容は次...

リンク内の href=# はどういう意味ですか?

現在のページへのリンク。 -------------------一般的な使用法は次のとおりです。 &...

MySQLで論理SQLを置き換える際の落とし穴を回避する方法の詳細な説明

重複キーの置換と挿入の違い置換の使用法競合がない場合、挿入と同等となり、他の列のデフォルト値が使用さ...

win10 での mysql5.7.21 の詳細なインストール手順

この記事では、MySQL 5.7.21のインストールとインストール中に発生した問題を参考までに紹介し...