【WordPress】phpMyAdminを使った移行でsqlインポートが「504 Gateway Time-out」で出来ない場合 SSHのコマンドラインで直接やっちまえ
公開日:
:
how to, ウェブ・ネット・PC(パソコン), サーバ・プログラム
例によってタイトル激長でうざいですが。。。
WordPressのサーバ移行は意外とよくやりますので、やり方に関しては慣れておくのがよいでしょう。
目次
WordPressの移行方法はググればたくさん出てくる
基本的なやり方はいろいろなサイトで紹介しております。
WordPressの管理画面のエクスポート・インポート機能を使ったやり方や
サイト移転時にWordPress記事をXML形式でエクスポート&インポートする手順
もっとガッツリと完璧にやりたい人でphpMyAdminからデータベースをぶっこ抜くやり方など
プラグインを頼らずWordPressのサーバー移行。新ドメインでも大丈夫!
それぞれご自身にあわせて行っていただければと思います。
また、それと同時にバックアップもちゃんととっておくことがデータ消失の保険としてもそうですが。。。
サーバ移行の際も楽になるのでぜひおすすめします。
今こそ安心できるWordPressバックアップを!復旧作業まで実際にやってみたWordPress丸ごとバックアップ法
phpMyAdminからsqlファイルインポート時にエラーが出る
で、基本的な移行の流れは上記サイトなどを参考に進めるとして。
で、今回はphpMyAdminを使った移行の際に困ったことが起きることがあります。
- 移行「元」のサーバのDBをphpMyAdminでsqlファイルをエクスポート
- 移行「先」のサーバのDBにエクスポートしたsqlファイルをインポート
とやるのですが2番目の移行「先」のサーバのDBにエクスポートしたsqlファイルをインポートの際に。。。
sqlファイルの容量が大きかったりサーバが遅かったりすると
こんな感じでインポート中にエラーになっちゃうことがあります。
これはウェブサーバーがApacheじゃなくてnginxの時に、phpMyAdminでインポートするファイルの上限が2,048KiBのためです。
phpMyAdmin+nginxでインポートできるファイル(sql)サイズ最長 2,048 KiBを変更
オライリージャパン
売り上げランキング: 46,839
上で紹介したブログでは、この上限を増やすようにphp.iniを書き換えて解決しているのですが、
- レンタルサーバによっては触れなかったり
- なんかいじってphp動かなくなると怖い
なんて時に、解決する方法です。
【余談】KiBやMiBって聞いたこと無い単位
KBやMB、GBって単位は聞いたことあるけど。。。
- KiB
- MiB
- GiB
ってなんやねん!?という人のために。詳しく説明しているページがあるので。。。
1024byteが1KiBだっていうのは知ってたんだけど、何故かその上の単位について、
1000KiB → 1MiB
1000MiB → 1GiB
以下同様だとばかり思い込んでた ・・・根本的な部分を理解してない悪例。
正しい知識を求めてくる人のために書いておくと、
10進数の単位が
KB(1KB=10の3乗byte=1,000byte)
MB(1MB=10の6乗byte=1,000,000byte)
GB(1GB=10の9乗byte=1,000,000,000byte)
…、
2進数の単位が
KiB(1KiB=2の10乗byte=1,024byte)
MiB(1MiB=2の20乗byte=1,048,576byte)
GiB(1GiB=2の30乗byte=1,073,741,824byte)
…、
という事で、冒頭に立ち戻ると正しくは以下。
1024byte → 1KiB
1024KiB → 1MiB
1024MiB → 1GiB
まあ参考までに
SSHでサーバに接続して直接sqlをインポートしちゃえ
というわけで、具体的にどうするのかと言えばnginx+phpMyAdminでインポートするファイルの上限が2,048KiBなので。。。
phpMyAdminを使わずに直接Linuxのコマンドラインで、sqlをインポートしてやればOKでやんす、というわけです。
今回はSSHでサーバに接続して、インポートするように命令をしてあげましょう。
オライリー・ジャパン
売り上げランキング: 542,479
検証環境(というかボクがやった環境)はさくらのレンタルサーバスタンダードになりますので、それを前提に。
ツールを揃える
といっても2つだけで、さらにほとんどの方は一つだけです。
FTPソフト
一つ目がファイルをサーバにアップロードやダウンロードするためのFTPソフトなんですが、ウェブサイトの運営をしている方であれば何らかのFTPソフトを既に使っているでしょう。
もし使ってなければ、フリーウェアであれば一番有名なFFFTPなんかを適当に。
またボクが使っているのはNextFTP4ってやつで、新規で購入すると2,480円(税別)ってやつです。
FFFTPを前は使っていたのですが、前の脆弱性のニュースを機に乗り換えました。
FFFTPと画面構成などは近く乗り換えやすいのと、設定が細かく出来るのに加えて、エラーで止まることが少ないように個人的には思いますので、お薦めです。
SSHクライアントソフト
これはあんまり持っていない人も多いと思いますが、SSHでサーバに接続するためのクライアントソフトです。
前にこの記事で紹介したTera Termなどが有名ですが。
【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(サーバ)編 予備知識版
【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(サーバ)編 いざ!版
今回はさくらインターネットのFAQページでも紹介されているPoderosaというソフトで説明していきます。
手順1.移行「元」サーバからsqlファイルをエクスポートし、サーバにFTPでアップする
では、行っていきます。まず最初に移行「元」のサーバでphpMyAdminより、sqlファイルをエクスポートしてください。ここまでは特に普通です。
エクスポートする際の設定などはここを参考にするとよいでしょう。
WordPress初心者講座「phpMyAdminを使ったデータベースのバックアップと復元」
ここまでは通常の移行と同じですが、ここからが少し方法が変わります。
この後に本来であれば、移行「先」のサーバのphpMyAdminでさっき移行「元」からエクスポートしたsqlをインポートしてちゃんちゃん、なのですが。
冒頭で触れたように、この容量が2,048KiBよりも大きいとインポート出来ないのです。
そこで、これをただ単にFTPで、移行「先」のサーバにアップロードしちゃいましょう!
アップロード先はとりあえず、さくらインターネットのレンタルサーバであれば
home/(アカウント名)
配下あたりがいいでしょう。仮に
- アカウント名がyourname
- ダウンロードしたsqlファイルが「db.sql」
ならば
home/yourname/db.sql
こんな感じでサーバに入れます。
手順2.PoderosaでサーバにSSHで接続する
これに関しては、さくらインターネットのFAQページを参考に進めていただければと思います。
手順3.コマンドラインでsqlファイルを目的のDBにインポート
ここまでくれば、あとはPoderosaでコマンドを一行打てば終わりです。
なのですが、その前にいろいろと調べる必要があります。
ここまでの確認として
- さくらのアカウント名「yourname」
- sqlファイル「db.sql」
- sqlファイルのディレクトリ「home/yourname/db.sql」
まずログインしてきた自分がどのディレクター構造にいるのか?を確認します。
使用するコマンドは「pwd」で、
$ pwd home/yourname
実際のPoderosaのスクショがこんな感じです。
【注意】ドルマーク($)やパーセント(%)は、UNIX(Linux)コマンド・プロンプトという意味合いです。
クライアントソフトによって異なります。(Poderosaは見ての通り%)
このサイトに限らず、これらは実際に入力する必要はない、というかはじめから出ているです、はい。
さくらのレンサバのひとはみんなこの位置に最初はいると思います。
で、次に自分の位置にどんなファイルがあるかを一覧表示するのが「ls」コマンドで
$ pwd home/yourname $ ls MailBox fml tmp db ports www db.sql sblo_files
こんな感じで自分のいる場所のファイルの一覧が出ます。
さくらのレンサバだと、だいたいこういったディレクトリやファイルの構造になっていると思われます。
ちゃんと自分がアップロードした「db.sql」があることも確認して下さい。
さくらのレンサバですとぼくと同じ手順で行けば大丈夫ですが。。。
違う環境だとSSH接続後最初の場所が違ったりする場合があるので、その時は移動のコマンド「cd」を使って
このディレクトリ(yourname)に入る
$ cd yourname
一つ上の階層に行く
$ cd ..
と動いて、目的のsqlファイルと同じところまで移動してください。
と、ここまでくれば、あとは魔法の一行を書いて終わりです。
魔法の一行のために、更に調べることがデータベースの情報です。
レンサバのコントロールパネルなどや、過去にWordPressインストしてたりすれば「wp-config.php」なんかに自分で書いてたりします。
で、一応仮ということで以下と過程します。
- さくらのアカウント名「yourname」
- sqlファイル「db.sql」
- sqlファイルのディレクトリ「home/yourname/db.sql」
- データベースサーバ「mysql***.db.sakura.ne.jp」(さくらはこの形)
- データベースユーザー名「yourname」(さくらはアカウント名と一緒)
- データベース名「yourname_***」(さくらはアカウント名にアンダーバーの後に任意の文字)
自分の環境に応じてそれぞれ書き換えてください。
では魔法の一行はこれだ!ワンツースリー(古い)
$ pwd home/yourname $ ls MailBox fml tmp db ports www db.sql sblo_files $ mysql -h mysql***.db.sakura.ne.jp -u yourname -p yourname_*** < db.sql Enter password:
そうすると上のようにパスワードを求められますので、データベースの接続パスワードを入力してEnterしてください。
【注意】ここでパスワードを入力しても文字は出ませんし伏せ字(****)なども出ませんのでご注意を。画面はなんにも変化しません。
パスワードが間違うと
$ pwd home/yourname $ ls MailBox fml tmp db ports www db.sql sblo_files $ mysql -h mysql***.db.sakura.ne.jp -u yourname -p yourname_*** < db.sql Enter password: ERROR 0000 (00000): Access denied for user 'yourname'@'xxx.xxx.xxx.xxx' (using password: YES)
みたいな感じでエラーがでます。正しければそのまま何も起こらず、コマンドが打てなくなります。
インポート中なので、触らずにそのまま待っていましょう。
完了するとまたコマンドが打てる状態になります。
ちゃんとインポートされているかどうか、phpMyAdminでチェックしてみてください。
ではでは、このへんで
インプレス
売り上げランキング: 2,067
関連記事
-
HP Mini 210-1000 ネットブック メモリ増設 1GB→2GB (I-O DATA PC2-6400 (DDR2-800) S.O.DIMM 2GB SDX800-2G/EC)
この記事を読む前に、、、 みんなの合言葉 自己責任で!!! すごく限定的な使い
-
【PHP】〓WordPressとかで便利〓Internet Explorerの古いバージョンの場合は違うページにリダイレクトさせる 概要編 1/2
IE6作った奴は世界中のwebデザイナーに土下座しろよ— dtsuka (@dtsuka
-
注文住宅(マイホーム)購入ならスーモカウンターがおすすめ(賛否あるけど) 3/3
注文住宅(マイホーム)購入ならスーモカウンターがおすすめ(賛否あるけど) 1/3 注文住宅(マイホ
-
【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(サーバ)編 予備知識版
これの続きです。 前はDNSの設定編で今回は2ステップの最後サーバの設定です。
-
「ssh port 変更 さくら 専用サーバ できない」 などのワードで検索引っかかってこい
ずーと前からさくらの専用サーバのsshのポートを22から変更しなくちゃ危ないって思っていたけど、人間
-
お金がなくて、時給が低いことの楽しさ
こんなサイトをたまたま見つけました。 はじめての自作PCで自宅サーバーをはじめた PCケ
-
【jQuery】Chart.jsを使って簡単にカッコイイレーダーチャートを実装するの巻
友達の結婚式のプロフィールムービーが終わって一息ついていた頃。。。 いつもお世話になっている弁
-
【LINEbot】LINEbotが作れるからphpで作ってみたの巻 ~さくらの共有SSLでも動くよ~
BOT API Trial Accountってのが、公開されたので、LINEbotを正式に作れるよう
-
起業するときにおすすめのサービス【PCFAXでペーパーレス】 02
前回のやつ 前回の流れから、ミニマムに商売をはじめるためのおすすめのサービスの紹介です。
-
【WordPress】Contact Form 7でEnterキーを押すと勝手に送信されてしまう問題を解決する魔法のコード(JavaScript)
アイキャッチ画像はギャグとして(笑) 就職活動中の女子大生にJavaとJavaScri
Comment
さくらサーバー使用者です。
sqlファイルが大きすぎてインポート出来ずにここのたどり着きました。
こちらの方法で試させていただき、お陰様でスムーズにインポートさせることができ大変助かりました。
多謝でございます。
ありがとうございました。