さくらインターネットでSSH接続してSQLファイルをインポートしてみた

terminal_ssh

事の発端はSQLファイルが巨大すぎて、phpmyadminからではインポートができないということ。

phpmyadminが無理ならコマンドラインで直接サーバにアクセスするしかない!ということで、サーバサイドの学習がてらSSH接続でのインポートをしてみました。

さくらインターネットでのSSH接続方法

macのターミナルを使用して接続してみました。

ssh □□□@□□□.sakura.ne.jp

パスワードを入力

$ から % になると、SSHでの接続完了です。

lsコマンドで現在地を把握してsqlファイルをアップロードする

今回の場合はrootディレクトリを見ていたのでrootディレクトリにsqlファイルをアップしました。

mysqlにアクセスしてsqlファイルをインポートする

mysql -u □□□ -p△△△ -h mysql◯◯◯.db.sakura.ne.jp ☆☆☆_☆☆☆ < ×××.sql

□□□ 取得したテストドメイン名
◯◯◯ mysqlの番号
△△△ 設定したパスワード
××× インポートしたいファイル名
☆☆☆_☆☆☆ データベースのテーブル名

パスワードのコマンド部分の-pの後にスペースを空けないところが注意点です。

少し待って % になればインポート完了です。

phpmyadminでインポートしていた時とは比べものにならないくらい早く終わります。

完了したらexitを入力してSSH接続を切っておきましょう。

重いsqlファイルをphpmyadminでアップロードすると…

phpmyadmin上でインポートができれば、簡単なのですが容量が多いsqlファイルをインポートしようとすると
処理が途中で終わってしまいます。
途中で止まってしまった時も同じファイルを持ち上げることで続きからインポートしてくれるのですが
エラーなどが出てしまうと、途中段階のデータまでは取り込まれるのですが、その先は取り込むことができなくなってしまいます。

しかも、phpmyadminでのアップロードはものすごく時間がかかります。
長い時間かけてエラーが出て、取り込めない…そんなことも多いです。

長年、wordpressでサイトを運営していると自然と記事数も増えてSQLファイルも増加してしまいます。
phpmyadminでインポートができなかった場合はSSH接続を試してみましょう。

ただ、エクスポートはできるのにインポートができないなんておかしいですよね。

まとめ

GUIでの処理が無理な場合はCUIでの処理にしてあげるとすんなりインポートできるなんて変な感じですが
CUIで行うと、ものの数秒で完了してビックリです。

CUIでの操作はGUIに慣れてしまっているのでとっつきにくい部分も多いですが、コマンドを知っていくことでいろいろなことができるのはおもしろいです。

「このコマンドはGUIだとこうなっているのか」といったようにパソコンの根源を覗けるのは勉強になります。
同時にGUIの便利さを実感。