リモートサーバからダンプ
mysqldumpで、リモートサーバからデータベースをダンプするコマンドを解説する。
コマンド
コマンドは下記のとおりである。
mysqldump -u username -ppassword -h 123.456.789.012 dbname > dumpfilename.sql
具体例
少し具体的に書こう。DB情報等が下記であったとする。
項目 | 値 |
---|---|
DBユーザ名 | pudding |
DBパスワード | qwerty123456 |
DB名 | zipcode |
リモートMySQLサーバIP | 123.456.789.123 |
(ダンプファイル名) | zipcode.sql |
このDB情報等を反映すると、下記のように書くことになる。-h
がポイントだ。
mysqldump -u pudding -pqwerty123456 -h 123.456.789.123 zipcode > zipcode.sql
-h と -host は同じ意味
なお、-h
は、 -host
の略だ。下記でも全く同じ意味になる。
mysqldump -u pudding -pqwerty123456 -host 123.456.789.123 zipcode > zipcode.sql
ホスト名でも実行可能
また、IPアドレスでなく、リモートサーバのホスト名でも実行できる。
mysqldump -u pudding -pqwerty123456 -h remote.host.com zipcode > zipcode.sql
用途
最近のレンタルサーバでは、MySQLデータベースは専用サーバを置いて、Webサーバと切り離していることが多い。そのような場合は、このリモートホストからのmysqldumpを使うことになる。
具体例でいうと、さくらインターネットとxserverがこの形をとっている。
また、大きめのシステムを動かしている環境などでも、WebサーバとDBサーバが分かれていることは多いだろう。そういうときに、Webサーバ上からDBサーバのデータをダンプする際には、リモートホストからのダンプを行う場面があるだろう。
開発・環境移行
- リモートサーバからダンプ
- 全てのデータベースをダンプ
- 複数のデータベースを指定してダンプ
- テーブルの構造のみダンプ(create文のみダンプ)
- insert文のみをダンプ
- 完全なinsert文をダンプ
- 短くて完全なinsert文をダンプ