バックアップ

2011年2月28日
mysqldumpを利用したMySQL5.1データベースのバックアップ

mysqldumpはコマンドラインで利用します。
オプションがいろいろあるので使い方は多種多様になりますので、よく使うパターンをいくつか整理しておきます。

■マニュアル
http://dev.mysql.com/doc/refman/5.1/ja/mysqldump.html

(1)1データベース全てをバックアップ
mysqldump  –host=ホスト名 –user=ユーザー名 –password=パスワード データベース名 > ダンプファイル名

(2)1テーブルのみバックアップ
mysqldump  –host=ホスト名 –user=ユーザー名 –password=パスワード データベース名 テーブル名 > ダンプファイル名

(3)MySQLの全てのデータベースをバックアップ
mysqldump –host=ホスト名 –user=特権ユーザー名 –password=パスワード –all-databases > ダンプファイル名

(4)1データベースのCREATE TABLEステートメントのみをダンプ(INSERTを含まない)
mysqldump  –no-data –host=ホスト名 –user=ユーザー名 –password=パスワード データベース名 > ダンプファイル名

(5)1データベースのテーブルデータのみをダンプ(CREATE TABLEを含まない)
mysqldump  –no-create-info –host=ホスト名 –user=ユーザー名 –password=パスワード データベース名 > ダンプファイル名

■その他よく使うオプション
[–add-drop-table]
DROP TABLEステートメントを含まないダンプを生成します。

[–no-create-db]
CREATE DBステートメントを含まないダンプを生成します。

[–quote-names,-Q](デフォルトは有効)
データベース名、テーブル名、カラム名を`でクォートします。

[–quick,-q](デフォルトは有効)
メモリバッファ使用有無を設定します。
無効にする場合は[–skip-quick]を設定します。

[–extended-insert,-e]
複数のINSERT分をまとめるのでダンプファイルサイズが小さくなる。