【さくらインターネット】phpMyAdminからMySQLのインポートが失敗(タイムアウト?)するときの対処法
WordPressをエックスサーバーからさくらインターネットに移転する際、データベース(MySQL)をphpMyAdminからさくらインターネットのデータベースサーバーにインポートしようとしたのですが、何度やっても失敗(タイムアウトのエラー?)になりました。
ここではこのときに対処した方法をメモしておきたいと思います。
インポートできなかった原因
さくらインターネットのphpMyAdminを使ってなぜさくらインターネットのデータベースサーバーにMySQLをインポートできなかったのか?についてですが、単純にインポート対象のMySQLの容量が大きすぎたからです(42.3MBもありました)。
そのためタイムアウトとなってインポートがうまくいかず、何度やってもphpMyAdminのログインページにリダイレクトされました(容量が小さいものは問題なくインポートできた)。
タイムアウトにならない方法
タイムアウトとなってインポートがうまくいかないので、タイムアウトにならない方法でMySQLをインポートしなければなりません。
その方法ですが、
- インポートするデータを分割して複数回に分けてインポートする
- SSH接続でコマンドを実行して直接データベースをインポートする
の2つがあります。このうち私は、後者のSSH接続で行いました。
SSH接続でMySQLをインポートさせる方法
ここから具体的な方法に入りたいと思います。
1.インポートしたいMySQLファイルをサーバーにアップロード
インポートしたいMySQLファイル(○○○.spl)をサーバーのルートディレクトリ(/home/○○○(アカウント名)/www)にアップロードします。
2.さくらインターネットのサーバーにSSH接続
私はTeraTermでさくらインターネットにSSH接続しました。その方法は、【さくらインターネット】SSH接続の設定方法を参照して下さい。
3.コマンドの実行
TeraTermでSSH接続した場合、次のような画面が出てきます。
このとき「cd www」と入力してエンターキーを押して、ルートディレクトリに移動します。
次にいよいよMySQLをデータベースサーバーにインポートさせるコマンドを入力します。
mysql -u ○○○ -p□□□ -h mysql△△△.db.sakura.ne.jp ○○○_○○○ < ○○○.sql
- ○○○:ここには「データベース ユーザ名」を入力します
- □□□:ここにはデータベース接続の「パスワード」を入力します
「-p」と「□□□」の間に半角スペースを入れないことがポイントです - △△△:ここには「データベースサーバの番号」を入力します
- ○○○_○○○:ここにはMySQLをインポートさせたい「データベース名」を入力します
- ○○○:ここにはインポートさせたいMySQLのファイル名を入力します
以上から構成したコマンドを次のように入力してエンターを押すと、1~3分くらいの時間をかけてインポートを行ってくれます。
※「%」が出現したらインポート完了
4.phpMyAdminで確認
SSH接続でのインポートが完了したら、phpMyAdminにログインし、ちゃんとMySQLのインポートができているか確認してください。
あわせて読んでほしい!
コメント
2:管理人:2017/07/06 1:35:43
新太さんはじめまして
コメント見逃しており返信遅くなりました!
応援ありがとうございます。ニートという長い充電期間を経ていますが、このままでは終われないのでそろそろ動き出そうと思っているところであります!
自分がぶち当たってきた課題を記事にして、こうやって誰かの役に立てるのは嬉しいことですね。
3:108:2019/06/29 9:52:55
さくらのデータベースを5.1→5.7にアップデートしたかったのですが、なかなか出来ずに四苦八苦しておりましたがsshにてうまくいきました。
貴重な情報ありがとうございました。とても助かりました。
1:新太:2017/06/26 16:36:44
ssh の使い方がわからないで苦労していましたので助かりました。ありがとうございます。
不況の時代は公務員かもしれませんが、公務員志向の人間が多くなると情けなくなります。大きな大志を抱き、すごいことやってください。きっとあなた様ならやれます!