Mysqldump を使用して単一のテーブルをバックアップする

Migel Hewage Nimesha 2024年2月15日
  1. MySQL でテーブルを作成する
  2. mysqldump を使用して MySQL の単一テーブルをバックアップする
  3. まとめ
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 にはさまざまなバックアップの種類があります。 どのバックアップ手法を採用するかは、変数、データ サイズ、ギア、パフォーマンス目標、データベース ストレージ容量などに依存します。

バックアップの復元にかかる時間も考慮する必要があります。

MySQL は次のバックアップ形式をサポートしています。

  1. 論理バックアップは、CREATE または INSERT ステートメントを作成することにより、.sql ファイルでデータベース構造を返します。 後で mysqldump ツールを使用して、このファイルを復元できます。

    インデックスなしのデータのみをバックアップするため、このタイプはコンパクトです。 各センテンスを個別に実行する必要があるという事実により、その回復オプションは他のオプションよりも遅くなります。

  2. 物理バックアップでは、データベース ファイルがディスクに保存されているのと同じ形式で再印刷されます。 論理バックアップよりも高速ですが、同じデータベース エンジンから MySQL サーバーにしか復元できません。

  3. 一貫性のあるバックアップは、サーバーが実行を一時停止するかロックされた後でのみ、正確な時点でファイルを再印刷します。

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と入力します。

単一テーブルの MySQL バックアップ - CMD

これで、cmd が開きます。

MySQL bin フォルダーは次の場所にあります。

C:\Program Files\MySQL\MySQL Server 8.0\bin

bin フォルダーにアクセスするには、上記のパスを入力します。

単一テーブルの MySQL バックアップ - ビン フォルダー

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

単一テーブルの MySQL バックアップ - テーブルの確認

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

MySQL 単一テーブルのバックアップ - フォルダーの作成

現在、bin フォルダーにいます。 以下は、バックアップ クエリです。

mysqldump --host=localhost --user=root --port=3306 -p customers employee > backup_single_table.sql

単一テーブルの MySQL バックアップ - クエリのバックアップ

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

単一テーブルの MySQL バックアップ - バックアップ スクリプト

スクリプトのデータ:

MySQL 単一テーブルのバックアップ - データのバックアップ

まとめ

この記事では、MySQL バックアップ オプションである mysqldump コマンドの使用方法について説明し、単一のテーブルをバックアップする方法の例を示しました。

また、MySQL Workbench や dbForge Studio for MySQL など、他のバックアップ作成手法を調べることもできます。 また、データベースからデータを復元する方法もいくつかあります。

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

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.

関連記事 - MySQL Table