単一のテーブルをバックアップする
このステップでは、mysqldump
コマンドを使用して MySQL データベースから単一のテーブルをバックアップする方法を学びます。これは、特定のテーブルのみをバックアップし、データベース全体をバックアップする必要がない場合に便利です。
前のステップで作成した mydatabase
データベースと users
テーブルを引き続き使用します。
単一のテーブルをバックアップするには、同じ mysqldump
コマンドを使用しますが、データベース名の後にテーブル名を指定します。
mysqldump -u [username] -p[password] [database_name] [table_name] > [output_file.sql]
[username]
をあなたの MySQL ユーザー名(通常は root
)に置き換え、[password]
をあなたの MySQL パスワード(ある場合)に置き換え、[database_name]
をデータベースの名前(mydatabase
)に置き換え、[table_name]
をエクスポートしたいテーブルの名前(users
)に置き換え、[output_file.sql]
をバックアップを保存したいファイルの名前(例:users_backup.sql
)に置き換えます。
この場合、コマンドは次のようになります。
mysqldump -u root -p mydatabase users > ~/project/users_backup.sql
MySQL ルートパスワードの入力を求められます。パスワード(ある場合)を入力してください。
このコマンドにより、~/project
ディレクトリに users_backup.sql
という名前のファイルが作成され、このファイルには users
テーブルとその内容を再作成するために必要な SQL 文が含まれています。
~/project
ディレクトリの内容を一覧表示することで、ファイルが作成されたことを確認できます。
ls ~/project
出力には、前のステップで作成した mydatabase_backup.sql
と users_backup.sql
の両方が表示されるはずです。
また、nano
を使用してバックアップファイルの内容を表示することもできます。
nano ~/project/users_backup.sql
これにより、mysqldump
が users
テーブルに対して生成した SQL 文が表示されます。Ctrl+X
を押して nano
を終了します。
次に、単一のテーブルのバックアッププロセスをさらに説明するために、データベースに別のテーブルを追加しましょう。MySQL サーバーに接続します。
mysql -u root -p
mydatabase
データベースに切り替えます。
USE mydatabase;
products
という名前の新しいテーブルを作成します。
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price DECIMAL(10, 2)
);
products
テーブルにいくつかのサンプルデータを挿入します。
INSERT INTO products (name, price) VALUES
('Laptop', 1200.00),
('Mouse', 25.00);
MySQL シェルを終了します。
exit
ここで、products
テーブルのみをバックアップしたい場合は、次のコマンドを使用します。
mysqldump -u root -p mydatabase products > ~/project/products_backup.sql
これにより、~/project
ディレクトリに products_backup.sql
という名前のファイルが作成され、このファイルには products
テーブルのデータのみが含まれます。