エックスサーバーでデータベースのデータをバックアップ(コピー)するには、phpMyAdmin を使うのがラクですが、何らかの理由で phpMyAdmin が使えない場合は、SSHログインしてバックアップすることもできます。その手順について説明します。
1. 手順
mysqldump
というコマンドを使って、データベース内のデータをファイルにエクスポートする方法です。エックスサーバーでは、このコマンドが使えるようになっています。
(1) サーバーに SSHログインします。
$ ssh -p ポート番号 ユーザー名@サーバーのホスト名
(2) mysqldump
コマンドを実行して、データベースのデータをファイルにエクスポートします。
$ mysqldump -uデータベースのユーザー名 -p -h DBサーバーのホスト名 データベース名 > ファイルパス
各オプションは以下を指定しています。
オプション | 説明 |
---|---|
-u | データベースのユーザー名を指定します(“-u”の後ろにスペースはいりません!)。 |
-p | パスワードを聞いてきます。 |
-h | DBサーバーのホスト名を指定します。 |
例えば、以下の場合であれば、
パラメータ | 値 |
---|---|
データベースのユーザー名 | foo |
DBサーバーのホスト名 | db.example.com |
データベース名 | bar |
ファイルパス | ~/tmp/data.sql |
次のようなコマンドを実行することになります。
$ mysqldump -ufoo -p -h db.example.com bar > ~/tmp/data.sql
(3) FTPクライアントを使って、生成したファイルをダウンロードします。
2. おわりに
とりあえず、現時点では最低限の操作だけ書きました。
時間がある時に、少しずつ詳細を追記していきます。