mysqldumpの使い方 基本構文編


20140508_01

はじめまして、こんにちは。システムエンジニアのリョータです。

最近MySQL、特にmysqldumpを利用することが多かったので、使い方をまとめてみました。

基本構文

まずはmysqldumpの基本の構文から。

1つのデータベースを対象とする場合(テーブルの指定が可能)

mysqldump [オプション ...] データベース名 [テーブル名 ...]

※テーブルを指定しないと、全てのテーブルが対象となります。
※テーブルを指定すると、指定されたテーブル全てが対象となります。
※特定のテーブルを対象としたくない場合は、ignore-tableオプションを利用してください。

データベースを複数対象とする場合

mysqldump [オプション ...] --databases [オプション ...] データベース名 [データベース名 ...]

全てのデータベースを対象とする場合

mysqldump [オプション ...] --all-databases [オプション ...]

※databasesもall-databasesもオプションの1つで、データベース(テーブル)の指定が変化するようです。

デフォルトのオプション指定

デフォルトのオプションはファイルで指定できます。
オプションを指定するファイルの名称は以下の二つです。
  • my.ini
  • my.cnf
※iniのほうが優先のようです。

またWindows環境では、以下のディレクトリが探索されるようです。
  • C:\Windows\
  • C:\
  • MySQLのインストールされたディレクトリ
対象となるファイルはhelpオプションで確認できます。

既にファイルで指定されているオプションはprint-defaultsで確認できます。
※デフォルトで有効なオプションは出力されないようです。

ファイルでのオプション指定方法

ファイルでの指定方法は、quickとmax_allowed_packetが16MBなら下記の書き方でOKです。

[mysqldump]
quick
max_allowed_packet = 16M

オプショングループを_localと指定した場合は、以下のような書き方になります。

[mysqldump_local]
quick
max_allowed_packet = 16M

オプション

どこもテキストベースで書かれていて、ほしいオプションを探すのが大変。
わかりやすく書かれた一覧がどこにもない!

ないなら作ってしまえ、ということで次回、オプションの一覧です。

株式会社ライズウィル

株式会社ライズウィル

〒110-0016
東京都台東区台東1-27-11 やわらぎビル2F
TEL : 03-4590-3200
FAX : 03-4590-3201
E-Mail : info@risewill.co.jp
URL : https://www.risewill.co.jp

海上コンテナ輸送管理システム「海コン魂!」
海コン魂!
面接予約・スタッフ管理システム「WebWORKS.」
WebWORKS.