*

【WordPress】phpMyAdminを使った移行でsqlインポートが「504 Gateway Time-out」で出来ない場合 SSHのコマンドラインで直接やっちまえ

例によってタイトル激長でうざいですが。。。

WordPressのサーバ移行は意外とよくやりますので、やり方に関しては慣れておくのがよいでしょう。

WordPressの移行方法はググればたくさん出てくる

基本的なやり方はいろいろなサイトで紹介しております。

WordPressの管理画面のエクスポート・インポート機能を使ったやり方や

サイト移転時にWordPress記事をXML形式でエクスポート&インポートする手順

もっとガッツリと完璧にやりたい人でphpMyAdminからデータベースをぶっこ抜くやり方など

プラグインを頼らずWordPressのサーバー移行。新ドメインでも大丈夫!

phpMyAdmin Starter
phpMyAdmin Starter

posted with amazlet at 14.11.26
Packt Publishing (2012-04-02)

それぞれご自身にあわせて行っていただければと思います。

また、それと同時にバックアップもちゃんととっておくことがデータ消失の保険としてもそうですが。。。

サーバ移行の際も楽になるのでぜひおすすめします。

今こそ安心できるWordPressバックアップを!復旧作業まで実際にやってみたWordPress丸ごとバックアップ法

phpMyAdminからsqlファイルインポート時にエラーが出る

で、基本的な移行の流れは上記サイトなどを参考に進めるとして。

で、今回はphpMyAdminを使った移行の際に困ったことが起きることがあります。

  1. 移行「元」のサーバのDBをphpMyAdminでsqlファイルをエクスポート
  2. 移行「先」のサーバのDBにエクスポートしたsqlファイルをインポート

とやるのですが2番目の移行「先」のサーバのDBにエクスポートしたsqlファイルをインポートの際に。。。

sqlファイルの容量が大きかったりサーバが遅かったりすると

504

こんな感じでインポート中にエラーになっちゃうことがあります。

これはウェブサーバーがApacheじゃなくてnginxの時に、phpMyAdminでインポートするファイルの上限が2,048KiBのためです。

phpMyAdmin+nginxでインポートできるファイル(sql)サイズ最長 2,048 KiBを変更

マスタリングNginx
マスタリングNginx

posted with amazlet at 14.11.26
Dimitri Aivaliotis
オライリージャパン
売り上げランキング: 46,839

上で紹介したブログでは、この上限を増やすようにphp.iniを書き換えて解決しているのですが、

  • レンタルサーバによっては触れなかったり
  • なんかいじってphp動かなくなると怖い

なんて時に、解決する方法です。

【余談】KiBやMiBって聞いたこと無い単位

KBやMB、GBって単位は聞いたことあるけど。。。

  • KiB
  • MiB
  • GiB

ってなんやねん!?という人のために。詳しく説明しているページがあるので。。。

今だから言うけど、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でサーバに接続して、インポートするように命令をしてあげましょう。

実用SSH 第2版―セキュアシェル徹底活用ガイド
Daniel J. Barrett Richard E. Silverman Robert G. Byrnes
オライリー・ジャパン
売り上げランキング: 542,479

検証環境(というかボクがやった環境)はさくらのレンタルサーバスタンダードになりますので、それを前提に。

ツールを揃える

といっても2つだけで、さらにほとんどの方は一つだけです。

FTPソフト

一つ目がファイルをサーバにアップロードやダウンロードするためのFTPソフトなんですが、ウェブサイトの運営をしている方であれば何らかのFTPソフトを既に使っているでしょう。

もし使ってなければ、フリーウェアであれば一番有名なFFFTPなんかを適当に。

またボクが使っているのはNextFTP4ってやつで、新規で購入すると2,480円(税別)ってやつです。

next

FFFTPを前は使っていたのですが、前の脆弱性のニュースを機に乗り換えました。

FFFTPと画面構成などは近く乗り換えやすいのと、設定が細かく出来るのに加えて、エラーで止まることが少ないように個人的には思いますので、お薦めです。

SSHクライアントソフト

これはあんまり持っていない人も多いと思いますが、SSHでサーバに接続するためのクライアントソフトです。

前にこの記事で紹介したTera Termなどが有名ですが。

【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(サーバ)編 予備知識版
【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(サーバ)編 いざ!版

今回はさくらインターネットのFAQページでも紹介されているPoderosaというソフトで説明していきます。

poderosa

手順1.移行「元」サーバからsqlファイルをエクスポートし、サーバにFTPでアップする

では、行っていきます。まず最初に移行「元」のサーバでphpMyAdminより、sqlファイルをエクスポートしてください。ここまでは特に普通です。

エクスポートする際の設定などはここを参考にするとよいでしょう。

WordPress初心者講座「phpMyAdminを使ったデータベースのバックアップと復元」

phpmyadmin07

ここまでは通常の移行と同じですが、ここからが少し方法が変わります。

この後に本来であれば、移行「先」のサーバのphpMyAdminでさっき移行「元」からエクスポートしたsqlをインポートしてちゃんちゃん、なのですが。

冒頭で触れたように、この容量が2,048KiBよりも大きいとインポート出来ないのです。

そこで、これをただ単にFTPで、移行「先」のサーバにアップロードしちゃいましょう!

アップロード先はとりあえず、さくらインターネットのレンタルサーバであれば

home/(アカウント名)

配下あたりがいいでしょう。仮に

  • アカウント名がyourname
  • ダウンロードしたsqlファイルが「db.sql」

ならば

home/yourname/db.sql

こんな感じでサーバに入れます。

手順2.PoderosaでサーバにSSHで接続する

これに関しては、さくらインターネットのFAQページを参考に進めていただければと思います。

nagare00

手順3.コマンドラインでsqlファイルを目的のDBにインポート

ここまでくれば、あとはPoderosaでコマンドを一行打てば終わりです。

なのですが、その前にいろいろと調べる必要があります。

ここまでの確認として

  • さくらのアカウント名「yourname」
  • sqlファイル「db.sql」
  • sqlファイルのディレクトリ「home/yourname/db.sql」

まずログインしてきた自分がどのディレクター構造にいるのか?を確認します。

使用するコマンドは「pwd」で、

$ pwd
home/yourname

実際のPoderosaのスクショがこんな感じです。

koma01

【注意】ドルマーク($)やパーセント(%)は、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/3

注文住宅(マイホーム)購入ならスーモカウンターがおすすめ(賛否あるけど) 1/3

記事を読む

【WordPress】プラグインBackWPupを3.1.2にアプデしたらDropboxに保存するときにERROR: Dropbox API: (59) ってエラーが出た時の対処法

バックアップと親孝行は後悔した時には遅いので出来るうちにしておけ! という名言がないとかないと

記事を読む

【バーチャルホスト】サブドメイン・DNSの設定覚書 概要編

サブドメインをやろうと思いました。 サブドメインをやる目的は自分のサイトがexam

記事を読む

美女Linuxのブログパーツをこのブログに入れた。そんだけ。。。

このブログもいろいろ寂しいので、少しでも華やかにしようかなと思いまして。。。 美女Li

記事を読む

「いま、IS01を想う。」に想う。。。おっさんくさい話。

川脇議員に貴重なお時間を割いていただき、インタビューをさせて頂いたのですが。 知多市議会議員「

記事を読む

zenbookのACアダブターを間違えて買ったので、プラグだけ買って作り直すの巻

zenbookかっちょいいですね!MacBook Airのパクリインスパイア系のウルトラブッ

記事を読む

【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(サーバ)編 いざ!版

これの続き では、いよいよ設定です。 まず設定するファイルは一個だけ

記事を読む

【バーチャルホスト】サブドメイン・DNSの設定覚書 設定(DNS)編

これの続き 設定としては2ステップ。 DNSの設定とサーバの設定です。

記事を読む

lightbox(ライトボックス)のバージョン2.51からPrototypeじゃなくてjQueryになったから設置の時注意

lightbox(ライトボックス)について前記事を書きました。 lightboxって何?って感

記事を読む

google Analytics(グーグルアナリティクス)で、自分を除外したいけど、スマホだとIP変わっちゃうよ(>_<)ってときの対処方

タイトルそのまんま。 google Analytics(グーグルアナリティクス)で、自分を除外

記事を読む

Comment

  1. 瑠々 より:

    さくらサーバー使用者です。
    sqlファイルが大きすぎてインポート出来ずにここのたどり着きました。
    こちらの方法で試させていただき、お陰様でスムーズにインポートさせることができ大変助かりました。
    多謝でございます。
    ありがとうございました。

瑠々 へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  • 高橋拓郎歳)
    愛知県知多市生まれ。
    大学在学中に個人で始めた事業を、大学院中退後法人化(法人化のために中退が正しいかも)。
    簡単にコンタクトとれるのでt@takuro.infoまで何か御用があればなんなりと。
    ブログの感想やご意見も大歓迎です!
no image
確定申告がなかなかできないやつは甘え~僕みたいな貧乏人は1分1秒でも早くやるんだわ~

確定申告の時期ですね。 で、決まってこの時期になると、 確

人生はサウナ理論~結婚するあなたへ~

人生はサウナ理論。 というのを、敬愛するさんちゃんの名言「生きて

e-taxでの確定申告のもにょもにょ(noteからの転載)

この記事は2016年にnoteに投稿した記事の転載です。 ちょう

【感想】Netflixオリジナルドラマ『Jimmy〜アホみたいなホンマの話〜』 オクレさんもはや本人でしょ??

Netflixオリジナルドラマ『Jimmy〜アホみたいなホンマの話〜』

【javaScript】2017年版 法人税実効税率 シミュレーション 自動計算機(コードも置いとくね)

今日は4/3だからこれは嘘じゃないよ!! 法人税実効税率

→もっと見る

PAGE TOP ↑