史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 1) (パート 35)

史上最もシンプルな MySQL データのバックアップと復元のチュートリアル (パート 1) (パート 35)

データのバックアップと復元に関する最初の記事を皆さんに共有します。具体的な内容は次のとおりです。

基本的な概念:

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

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

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

データ損失を防ぐ;
データレコードを保護します。

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

データテーブルのバックアップ

データ テーブルをバックアップするには、SQL を使用する必要はありません。データベース フォルダーに直接アクセスして、対応するテーブル構造とデータをコピーできます。データを復元する必要がある場合は、バックアップ (コピー) の内容を戻すだけです。

ただし、ストレージ エンジンが異なるため、データ テーブルをバックアップするには前提条件があります。

ストレージ エンジンとして、MySQL では主に InnoDB と Myisam の 2 種類が使用され、どちらも無料です。ここでは、ストレージ エンジンに関する知識も広めることができます。

その中でも、Myisam と InnoDB のデータ保存方法も異なります。

Myisam: テーブル、データ、インデックスはすべて別々に保存されます。
InnoDB: テーブル構造のみが存在し、すべてのデータは ibd ファイルに保存されます。

Myisam のデータ保存方法をテストするには、次の SQL ステートメントを実行します。

-- Myisam テーブルを作成する create table my_myisam(
 id 整数
)文字セット utf8 エンジン = myisam;

-- テーブル構造を表示します。show create table my_myisam;

-- データを挿入します insert into my_myisam values(1),(2),(3);

-- データを表示する select * from my_myisam;

1

上の図に示すように、ストレージ エンジンが Myisam である my_myisam という名前のデータ テーブルを作成しました。 Myisam のストレージ特性を確認するには、データ フォルダーに移動して、特定のデータ ストレージ状況を確認します。

1

上の図に示すように、テーブル my_myisam のみを作成しましたが、Myisam は次の 3 つのストレージ ファイルを生成します。

my_myisam.frm: テーブルの構造を保存します。
my_myisam.MYD: テーブルデータを格納します。
my_myisam.MYI: テーブルのインデックスを格納します。

ここで、これらの 3 つのファイルを testoo データベースにコピーします (MySQL データ ファイルの保存場所を見つける方法については、MySQL データ ファイルの保存場所を表示する詳細な方法を参照してください)。

1

テストするには次の SQL ステートメントを実行します。

-- データベースの使用を切り替えます testoo;

-- testoo データベース内のテーブルを表示します。show tables;

-- テーブル my_myisam を表示
my_myisam から * を選択します。

1

上の図に示すように、ファイルをコピーすることでデータ テーブルのバックアップが完了したことがわかります。

ここで注意すべき点が 1 つあります。InnoDB ストレージ エンジンによって生成された .frm ファイルと .idb ファイルを別のデータベースにコピーすることはできますが、show tables コマンドを使用してコピーされたテーブル名を表示することもできますが、データを取得することはできません。

1

テストするには次の SQL ステートメントを実行します。

-- testoo データベース内のテーブルを表示します。show tables;

-- テーブル my_class を表示
my_class から * を選択します。

1

上記のテストから、データ テーブルのバックアップ方法が Myisam ストレージ エンジンに適していることは明らかであり、バックアップ方法も非常に簡単です。Myisam ストレージ エンジンによって生成された 3 つのストレージ ファイル .frm、.MYD、.MYI を新しいデータベースにコピーするだけです。

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

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

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

<<:  Vueは商品詳細ページの商品タブ機能を実装します

>>:  Dockerコンテナのログ分析

推薦する

HTML+CSS を使用して、画像の右上隅に削除の十字と画像削除ボタンを追加します。

記録として、将来使用される可能性があり、困っている友人も使用できます。 BBはもうやめて、まずはレン...

CentOS IP接続ネットワーク実装プロセス図

1. システムにログインし、ディレクトリに入ります: cd /etc/sysconfig/netwo...

Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法

1. ポート 80 が占有されているかどうかを確認します。通常、ポート 80 は Apache サー...

JavaScript はクラス宝くじアプレットを実装します

この記事では、クラス抽選アプレットを実装するためのJavaScriptの具体的なコードを参考までに紹...

ES6拡張演算子の理解と使用シナリオ

目次1. 適用メソッドを置き換え、関数を呼び出すときにパラメータを処理する2. 残りパラメータ(残り...

ネイティブ js を使用してライブ バレット スクリーンのスクロール効果をシミュレートします。

目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...

Dockerのyumソースの設定とCentOS7へのインストールの詳細な説明

ここではCentOS7が使用されており、カーネルバージョンは [root@localhost ~]#...

VMware14 に CentOS 7 をインストールするグラフィック チュートリアル

CentOS の紹介CentOS は、Red Hat Linux が提供する無料で利用できるソースコ...

CSSレコードテキストアイコン配置のいくつかのソリューション

開発中に画像とテキストが 1 行に表示されることはよくあります。2 つのインライン要素を揃えるのは通...

MySQLはデフォルトのエンジンと文字セットの詳細を変更します

目次1. データベースエンジン1.1 ビューデータベースエンジン1.2 デフォルトのデータベースエン...

コードを通じてHTMLエスケープ文字を識別する方法について説明します

データ内に次のような特徴を持つ「 ' 」などの文字が含まれることがあります。 &# ...

Velocity.js はページスクロール切り替え効果を実装します

今日は、複数ページのスクロール切り替え効果を備えた Web サイトを簡単かつ効率的に開発できる、小さ...

JavaScript で同時実行制御を実装する方法

目次1. 同時実行制御の概要1.1 フェーズ1 1.2 フェーズ2 1.3 フェーズ3 2. 同時実...

CSSでnグリッドレイアウトを実装する方法

一般的なアプリケーションシナリオ現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウ...

HTML のボタン タグをクリックしてページにジャンプする 3 つの方法

方法1: onclickイベントを使用する <input type="button&...