search
LoginSignup
3
Organization

MySQLバックアップ 基本


MySQLバックアップ
基本的なコマンドを整理してみました。

mysqldumpコマンド

このコマンドを活用すると、
データベースを抜き出して、後日、再利用する事が出来るようになります。

【公式ホームページの説明】
mysqldumpクライアント ユーティリティは 論理バックアップを実行し、
元のデータベース オブジェクト定義とテーブル データを再現するために実行できる一連の SQL ステートメントを生成します。バックアップまたは別の SQL サーバーへの転送のために、1 つ以上の MySQL データベースをダンプします。
mysqldumpコマンドは 、CSV、その他の区切りテキスト、または XML 形式で出力を生成することもできます。
https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html

お気づきかと思いますが、テキストでも取得できます。

書式

mysqldump -u ユーザー名 -p データベース名 > 出力ファイル名
どんな内容が出力されるのか確認したい場合は、
この「出力ファイル名の所を〇〇.txt」とすると内容を確認する事が出来ます。

ここで、出力するファイルですが、MySQLサーバ全体も取得する事ができますが、テーブルのみでも出力できます。
具体的には、3 つ方法があります。

①1 つまたは複数のテーブルのセットをダンプする。
mysqldump [options] db_name [tbl_name ...]

②1 つまたは複数の完全なデータベースのセットをダンプする。
mysqldump [options] --databases db_name ...

③MySQL サーバー全体をダンプする。
mysqldump [options] --all-databases

optionsの主なものは、以下のようなものがあります。

--databases データベース全体のバックアップ
--lock-all-tables データベースの全てのテーブルをロックしてバックアップ
--no-data(-d) CREATE TABLE 文のみを出力
--routines プロシージャや関数がある場合に付ける

【引用元】
https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#mysqldump-syntax

dumpは指定されたデータベース内のテーブルと同じものを作るためのコマンドをdumpファイルに出力したものです。
1GB程度のデータベースのdumpであれば取得するのにそれほど時間がかからないかもしれませんが、
10GB以上ですと、だいたい、15分以上かかるようです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
3