Mysqldump を使用して単一のテーブルをバックアップする
 
MySQL はデータベースでもプログラミング言語でもありませんが、データベース内のデータを管理および整理するために広く使用されているオープンソース ツールです。 この記事では、mysqldump とその使用方法、および mysqldump を使用して単一のテーブルをバックアップする方法について、例とともに説明します。
MySQL でテーブルを作成する
単一のテーブルをバックアップするには、まずテーブルを作成する必要があります。 MySQL で CREATE TABLE を使用して簡単なテーブルを作成してみましょう。
構文:
CREATE TABLE table_name (
    column1 data_type,
    column2 data_type,
    .....
);
例を見てみましょう。 新しいスキーマで、employee テーブルを作成しましょう。
CREATE TABLE employee (
    EmployeeID int,
    FirstName varchar(255),
    LastName varchar(255),
    Address varchar(255),
    PhoneNumber int
);
テーブルにいくつかの詳細を挿入してみましょう。
INSERT INTO employee (employeeID, FirstName, LastName, Address, PhoneNumber)
VALUES ('001', 'John', 'Andrew','London','4420112');
このクエリを使用して、上記のコードの出力テーブルを確認できます。
SELECT * FROM employee;
出力:

MySQL にはさまざまなバックアップの種類があります。 どのバックアップ手法を採用するかは、変数、データ サイズ、ギア、パフォーマンス目標、データベース ストレージ容量などに依存します。
バックアップの復元にかかる時間も考慮する必要があります。
MySQL は次のバックアップ形式をサポートしています。
- 
論理バックアップは、 CREATEまたはINSERTステートメントを作成することにより、.sqlファイルでデータベース構造を返します。 後でmysqldumpツールを使用して、このファイルを復元できます。インデックスなしのデータのみをバックアップするため、このタイプはコンパクトです。 各センテンスを個別に実行する必要があるという事実により、その回復オプションは他のオプションよりも遅くなります。 
- 
物理バックアップでは、データベース ファイルがディスクに保存されているのと同じ形式で再印刷されます。 論理バックアップよりも高速ですが、同じデータベース エンジンから MySQL サーバーにしか復元できません。 
- 
一貫性のあるバックアップは、サーバーが実行を一時停止するかロックされた後でのみ、正確な時点でファイルを再印刷します。 
mysqldump を使用して MySQL の単一テーブルをバックアップする
バックアップは、データが更新または削除される前の元のデータを保存できます。 MySQL には、データ サイズ、データベースのストレージ容量などに基づいて、さまざまな種類のバックアップがあります。
mysqldump は、MySQL データベースのバックアップに使用されるコマンドで、MySQL サーバーのインストール ディレクトリにあります。
mysqldump コマンドを使用して単一のテーブルをバックアップする方法を見てみましょう。 5.0 より前のバージョンの MySQL では、バックアップ テーブルの概念が使用されていました。
構文:
mysqldump -u [username] –p [password] -h [host name] [database_name] [tablename] > [dumpfilename.sql]
上記の構文の説明:
- -u (--user = "username" ): これは、MySQL に接続されているユーザー名です。
- -p (--p): ユーザー名のパスワードです。
- -h(--host = 'ホスト名'): これは、データをダンプするために接続するサーバーの名前です。
- database_name: バックアップするデータベース名です。
- tablename: バックアップしたいテーブル名です。
- <: この記号は、データベースの復元を示します。
- >: この記号は、バックアップ データベースを表します。
- dumpfilename.sql: これは、データベースのバックアップを含むダンプ ファイルへのパスです。
データベース内のその 1つのテーブルだけをバックアップする場合は、mysqldump コマンドに特定のテーブルの名前を付けます。
例として、他のデータベースから特定のテーブルを取り上げます。 ここでは、mysqldump を使用してバックアップを実行しています。
まず、このショートカット キーを使用してコマンドを起動します: windows キー+R。
次に、以下に示すように、検索オプションにcmdと入力します。

これで、cmd が開きます。
MySQL bin フォルダーは次の場所にあります。
C:\Program Files\MySQL\MySQL Server 8.0\bin
bin フォルダーにアクセスするには、上記のパスを入力します。

使用可能なテーブルを確認します。

バックアップを保存するフォルダーを作成します。

現在、bin フォルダーにいます。 以下は、バックアップ クエリです。
mysqldump --host=localhost --user=root --port=3306 -p customers employee > backup_single_table.sql

バックアップ スクリプトは、employee テーブルの構造とデータのみを出力します。

スクリプトのデータ:

まとめ
この記事では、MySQL バックアップ オプションである mysqldump コマンドの使用方法について説明し、単一のテーブルをバックアップする方法の例を示しました。
また、MySQL Workbench や dbForge Studio for MySQL など、他のバックアップ作成手法を調べることもできます。 また、データベースからデータを復元する方法もいくつかあります。
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.
