mysqldumpでMySQLをバックアップする時のオプション

Last edited on 2009/04/29 (水) - 18:29

さくらインターネットのMySQLがようやく5.1になるのだ。これから、4月にかけて少しずつ切り替えていくらしい。これでやっとDrupal 6をインストールできるのだ。今から待ち遠しい。

そういうわけで、この週末はローカルのNASにMySQL環境を設定し、さくらインターネットのMySQLのデータを移してきて、Drupal 6の移行の練習をしてみた。けっこうもたついたが、それでもDrupal6が動きだしていろいろ細かい違いなどもわかってきた。

さて、さくらインターネットのMySQLデータベースのバックアップは、mysqldumpを使って定期的に行っている。今回、MySQLのデータを移すのにもmysqldumpのデータを使った。

使い方は、インターネットで検索すればあちこちのページに出ている。私が使っているのは、drupal.org に置いてあるスクリプトだ。このスクリプトではユーザ名、パスワード、ホスト名以外のオプションとして、--add-drop-table を付けている。また、インターネットのいろいろなページを見ると様々なオプションを付けている。

一体何が正解なの?という訳で、調べてみた。

--add-drop-table --add-locks -Q --quick などがよく使われているようだが、
MySQL5.1の場合、http://dev.mysql.com/doc/refman/5.1/ja/mysqldump.html によれば、

例えば、--optを使用することは--add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charsetを指定したのと同じことです。MySQL 5.1以降、--optが表すオプションは全てデフォルトで有効化されています。これは、--optがデフォルトで有効なためです。

ということなので、特に何も付けなくてよいようだ。--quote-names, -Q についても、

‘`’文字でデータベース、テーブル、そしてカラム名をクオートします。ANSI_QUOTESSQLモードが有効化されている場合、名前は‘"’キャラクタでクオートされます。このオプションはデフォルトで有効となっています。--skip-quote-namesで無効化することもできますが、このオプションは--compatibleのような--quote-namesを有効化するオプションの後に与えられるべきです。

ということなので、不要だ。結局、何も要らないようだ。