*

【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でチェックしてみてください。


ではでは、このへんで








関連記事

追尾メニューのAdSense削除の件

このサイトへのお問い合わせで、以下のような内容のご指摘を頂きました。 サイドメニューの追尾広告

記事を読む

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

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

記事を読む

【WordPress】WP-PageNaviがデフォルト設定が左寄せだもんで、真中揃えにする方法

WordPressの人気プラグインでWP-PageNaviってやつがあります。 何のプラグイン

記事を読む

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

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

記事を読む

【PHP】曜日と時間を検出して、いつまでに対応するかを表示する

営業時間中であれば、お問合わせいただいてから何分以内に対応しますよという文句を自動で表示したい。

記事を読む

「ssh port 変更 さくら 専用サーバ できない」 などのワードで検索引っかかってこい

ずーと前からさくらの専用サーバのsshのポートを22から変更しなくちゃ危ないって思っていたけど、人間

記事を読む

SDカードからデジカメで撮影した写真が消えてしまった時の復元方法~データ削除したけど実際には消えていない?~

恋人への愛してるとバックアップは定期的に という有名な格言がなかったりなかったりしますが、バッ

記事を読む

【simフリー端末】asus「ZenFone 5 (A500KL)」をキャンペーンで無料GETしたけど。。。auのiPhone simでは使えず(;O;)

どうも、ラッキーマンよろしくのとてつもないツキを持った男ことボクです。 とっても! ラッキーマ

記事を読む

EPSON LP-7000C カウンター リセット で引っかかれ

友達にLP-S6500ってエプソンのプリンターのリセット方法を調べろとの事で調べたら中々出てこない。

記事を読む

【PHP】メールフォーム 一度入力した内容が消えてしまう時 POST使って入力内容を保持 ~メールフォームパッケージダウンロードあり~

前に、 【PHP】スマホ対応 メールフォーム設置 PEARを使ってgmailのsmtpサーバで

記事を読む

Comment

  1. 瑠々 より:

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

Message

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

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

  • 高橋拓郎(32歳)
    愛知県知多市生まれ。
    大学在学中に個人で始めた事業を、大学院中退後法人化(法人化のために中退が正しいかも)。
    簡単にコンタクトとれるのでt@takuro.infoまで何か御用があればなんなりと。
    ブログの感想やご意見も大歓迎です!
【javaScript】2017年版 法人税実効税率 自動計算機(コードも置いとくね)

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

【ユーザー車検】軽トラを無料でGETしたけど車検代が無いから初の軽自動車ユーザー車検に挑戦!

青春カーと悲しい別れ どうも。貧乏が板に付いてきて久しい僕で

【LINEbot】LINEbotが作れるからphpで作ってみたの巻 ~さくらの共有SSLでも動くよ~

BOT API Trial Accountってのが、公開されたので、L

【電気自動車】日産リーフの無料モニターに当選して2週間使ってみたけれども。。。結論的に購入は時期尚早??

どうも。実写版とってもラッキーマンこと僕です! とっても!ラッキ

追尾メニューのAdSense削除の件

このサイトへのお問い合わせで、以下のような内容のご指摘を頂きました。

→もっと見る

PAGE TOP ↑