
エックスサーバーでデータベースのデータをバックアップ(コピー)するには、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. おわりに
とりあえず、現時点では最低限の操作だけ書きました。
時間がある時に、少しずつ詳細を追記していきます。