これまで phpMyAdmin を使用してデータベースのデータをインポートしていたが、データ容量が大きいと phpMyAdmin ではインポートできないので ssh を使用。以下はさくらインターネットの場合。
1. ターミナルを利用。SSH接続
$ ssh user-name@example.sakura.ne.jp
初めて接続する時は接続先のサーバーのホストキーがローカルマシンに保存されていないため以下メッセージが表示される。
The authenticity of host '***.sakura.ne.jp (***.**.***.**)' can't be established.
ED***** key fingerprint is ******************************.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])?
メッセージには、接続先サーバーのホストキーのフィンガープリントが表示されている。このフィンガープリントで信頼できるサーバーであることを確認。確認できたら「yes」と入力して接続を続行。
2. MySQLデータをFTP、SCPなどでアップロード
インポートするデータをFTP、SCPなどでサーバーにアップロード。アップロード先はどこでもよい。
3. アップロード先ディレクトリに移動、確認
フルパスで指定してアップロード先ディレクトリに移動。
% cd /home/***/***/directory
移動しているか確認。
% pwd
アップロードしたファイルの所在を確認。
% ls
4. データベースサーバー に接続
% mysql -h server-name -u user-name -p
5. 対象のデータベースを選択
***@***.db.sakura.ne.jp [(none)]> use database-name
6. 現在のデータベースを確認
***@***.db.sakura.ne.jp [database-name]> \s
7. sql ファイルのフルパスを入力してインポートを実行
***@***.db.sakura.ne.jp [database-name]> source /home/***/***/directory/database.sql
8. インポートしたテーブルを確認(文末にセミコロン必須)
***@***.db.sakura.ne.jp [database-name]> show tables;
9. 無事インポートできてたら終了
exit