MySQL インポートおよびエクスポートのバックアップの詳細

MySQL インポートおよびエクスポートのバックアップの詳細

1. MySQLのバックアップタイプの詳細な説明

現代のインターネット企業にとって、サーバーデータベースに保存されたデータは徐々に企業や会社の生命線となり、企業や会社の存続と発展に非常に大きな影響を与えています。データベースデータ保存のセキュリティを確保し、誤操作や不可抗力による破損を防ぐために、通常はデータベース内のデータをバックアップします。 MySQL データベースをバックアップする方法は多数あります。さまざまな分類基準に従ってこれらのバックアップ方法について説明しましょう。

1. バックアップがデータベースに与える影響に基づく分類

1. ホットバックアップ。これは、データベースの実行中にデータベースをバックアップすることを意味し、データベースの通常の操作には影響しません。
2. コールドバックアップ。データベースが停止した後に開始されるバックアップを指します。
3. ウォームバックアップ。データベースの実行中にバックアップを実行するバックアップ方法を指しますが、これによりデータベースのパフォーマンスが低下し、データベースによって提供されるサービスに影響を及ぼします。

(II) バックアップファイルによる分類

1. 論理バックアップ。論理バックアップを使用する場合、バックアップされたデータは通常 .sql ファイルになります。バックアップされたコンテンツは読み取り可能なテキスト ファイルです。この方法は通常、データベースのアップグレード、移行、データベース テーブルのバッチ変更などのシナリオで使用されます。この方法では回復に長い時間がかかります。
2. ベアファイルのバックアップ。データベースの物理ファイルをコピーすることを指します。この方法では、データベースの回復時間が短縮されます。

3. バックアップ方法による分類

1. 完全バックアップ。データベースの完全なバックアップを指します。
2. 増分バックアップ。すべてのデータをバックアップするのではなく、最後のバックアップに基づいて更新されたデータをバックアップすることを意味します。
3. ログのバックアップ。これは、データベース ログをバックアップすることを指します。このバックアップ方法は、MySQL マスター スレーブ同期アーキテクチャで使用されます。

2. MySQLデータベースのエクスポート

(I) mysqldumpエクスポートデータ

mysqldump は、MySQL データベースに付属するデータ バックアップおよびエクスポート ツールです。このツールは、MyISAM および InnoDB エンジンのデータ テーブルをサポートします。 mysqldump バックアップに使用されるパラメータは次のとおりです。
-u: データベースにログインするユーザーを指定します。
-p: データベースにログインするために使用するユーザー パスワードを指定します。
-d: データベースのテーブル構造のみがエクスポートされることを示します。
-t: テーブル構造を含めずに、データベースの特定のデータのみがエクスポートされることを示します。
-A: すべてのデータベースをエクスポートすることを意味します。
以下は、mysqldump の使用例です。

mysqldump -uroot -proot -A >all_database.sql
mysqldump -uroot -proot pzz > pzz.sql
mysqldump -uroot -proot pzz 学生 > 学生.sql
mysqldump -uroot -proot -d pzz > pzz_table.sql
mysqldump -uroot -proot -t pzz > pzz_data.sql

上記の 5 つのコマンドは、それぞれ、データベース内のすべてのデータのエクスポート、pzz データベースのデータのエクスポート、pzz データベースの学生テーブル内のすべてのデータのエクスポート、pzz データベースのテーブル構造に関連するデータのエクスポート、およびテーブル構造を除く pzz データベースの実際のデータのエクスポートを表しています。
mysqldump によってエクスポートされたファイルを使用すると、結果は次のようになります。

ここに画像の説明を挿入

(II) mysqlhotcopy ベアファイルバックアップ

MySQL 5.5 以下のデータベース(MySQL 5.7 のデータベースでは mysqlhotcopy コマンドは削除されています)では、クイック バックアップを実行できます。 mysqlhotcopy によって実行されるバックアップは、コピー中にデータベースの内容をロックするためにロックが使用される点を除いて、基本的にはデータベース テーブル ファイルの直接的な物理コピーです。さらに、mysqlhotcopy コマンドは MyISAM エンジンのデータ テーブルのみをバックアップできます。以下は、mysqlhotcopy コマンドの使用例です。

mysqlhotcopy -u ルート -p ルート pzz /root
mysqlhotcopy -u ルート -p ルート pzz./student/root

上記の 2 つのコマンドのうち、最初のコマンドは pzz データベースをバックアップし、2 番目のコマンドは pzz データベース内の学生データ テーブルをバックアップします。バックアッププロセスは次のとおりです。

ここに画像の説明を挿入

(III) mysqldumpとmysqlhotcopyの比較

1. mysqldump は .sql ファイルにバックアップしますが、mysqlhotcopy はベア ファイル バックアップを使用します。
2. mysqldump のバックアップとリカバリは mysqlhotcopy よりも遅いため、大きなファイルのバックアップには適していません。
3. mysqldump は MyISAM エンジンと InnoDB エンジンをサポートしますが、mysqlhotcopy は MyISAM エンジンのみをサポートします。
4. mysqlhotcopy は MySQL バージョン 5.5 以上には含まれていません (含まれていません)。
5. mysqlhotcopy はデータベースが配置されているデバイス上でのみ実行できますが、mysqldump はローカル デバイスまたはリモート クライアント上で実行できます。
6. mysqldump と mysqlhotcopy が実行されると、データベースがロックされます。
7. mysqldump バックアップの復元は、基本的に .sql ファイル内の SQL ステートメントの実行ですが、mysqlhotcopy バックアップの復元は、基本的に直接上書きです。

3. MySQLデータベースのインポート

mysqlhotcopy を使用してデータベースをバックアップすると、復元時に元のデータをバックアップ データで上書きするだけで済みます。 mysqldump によってエクスポートされた .sql ファイルを復元する場合は、MySQL データをインポートする必要があります。 MySQL データベースをインポートする方法は 2 つあります。1 つは、「<」記号を使用して .sql ファイル内の情報を MySQL データベースに直接インポートする方法です。もう 1 つは、データベースにログインした後、source コマンドを使用してデータをインポートする方法です。
たとえば、exp.sql のバックアップ データをインポートするには、次のコマンドを実行します。

mysql -uroot -proot < exp.sql

または、データベースにログインした後、次を実行します。

ソース /root/exp.sql

要約する

これで、MySQL のインポートとエクスポートのバックアップの詳細な説明に関するこの記事は終了です。MySQL バックアップに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQLデータベースとOracleデータベース間のバックアップをインポートする
  • バックアップと復元のための MySQL インポートおよびエクスポート コマンドの使用
  • MySQL データベースをインポートおよびエクスポートする方法 (バックアップと復元)

<<:  コンテンツの位置をランダムにドラッグするHTMLを実装する2つの方法

>>:  CSS3 フィルター属性の使い方の紹介

推薦する

関数の分類の詳細な説明とJavascriptでのこのポイントの例

JS で関数を定義する 3 つの方法例を挙げて説明しましょう。 <スクリプト> //メソ...

Centos7 での nginx のインストールと設定に関する詳細なチュートリアル

注: ソフトウェアのインストールの基本ディレクトリ パスは /usr/local です。ソフトウェア...

WeChatアプレットの下部にあるタブバーがコンテンツをブロックする問題に対処する簡単な方法

WeChatアプレットでタブバーを設定すると、重要なコンテンツがブロックされ、iPhoneXなどの異...

nginx で正規表現を使用してワイルドカードドメイン名を自動的に一致させる方法

Nginxは正規表現を使用して、ワイルドカードドメイン名をディレクトリに自動的に一致させます。 Ng...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

MySQL 文字列連結と null 値の設定のためのインスタンス メソッド

#文字列連結 concat(s1,s2); テーブル内の last_name と first_nam...

MySQLのインストールと設定に関する詳細なチュートリアル

目次インストール不要のMySQLバージョン1. インストール パッケージをダウンロードします。 2....

Vue3は現在のルーティングアドレスを取得します

正解useRouterの使用: // ルーターパス: "/user/:uid" ...

Nodeイベントループの包括的な理解

目次ノードイベントループイベントループ図メインスレッドイベントループタイマーキューの仕組み投票キュー...

CentOS7 は rpm パッケージを使用して mysql 5.7.18 をインストールします

例示するこの記事は、2017 年 5 月 20 日に MySQL-5.7.18 を使用して作成されま...

WeChatアプレット開発で遭遇したことのない落とし穴のまとめ

目次getApp()ページエントリファイルの先頭に変数を定義しますwx.createSelector...

Ubuntu で VIM を C++ 開発エディタとして設定する

1. 設定ファイルをユーザー環境にコピーし、新しい.vimフォルダを作成し、バンドルサブフォルダを作...

テーブルの作成、フィールドの追加、フィールドの変更、インデックスの追加によく使用される MySQL の SQL 文の概要

この記事では、テーブルの作成、フィールドの追加、フィールドの変更、インデックスの追加を行う一般的な ...