リールーブログ

WP移管でエクスポート忘れたけどphpmyadminで復活っ

2016.03.31
Don't be shellfish...Tweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on TumblrShare on Facebook

wordpressのデータを新サーバーへお引越ししなきゃいけないのに、肝心のエクスポートを忘れてもうたっっ!

 
ヤバいっっ!!何か策はないかっっ??

 
っと、
あった!!!
データーベースだっ!!
サーバー移管中なら旧サーバーにデータがある!
でも、MySql触ったことないしなぁ・・・まぁやってみよう!
っといろいろいじった結果、復活できたので、忘れないうちにメモ!

 
※MySql初心者で、あくまで「わたしはこうやったよ」として記述しています。
間違った見解をしているかもなので、正しい知識は他の方のブログを見た方が良いです。

 




1)旧サーバーからWPのデータをDL
2)新旧サーバーのphpMyAdminにログイン
3)旧サーバーのSQLデータをエクスポート
4)新サーバーにインポート(前準備)
5)新サーバーにインポート
6)プラグインまわり
7)ふっかぁぁぁぁぁぁぁぁぁぁぁぁつ!!

 

旧サーバーからWPのデータをDL

テーマはバックアップがあるので、以下だけDLしました。

 
wp_content内の「plugins」 と 「uploads」
pluginsは、使っているプラグインのデータです。
uploadsは、メディア(画像)のデータです。

 
といってもサーバー移管作業が始まるとFTPにアクセスできなかった・・・・。
ので、めちゃんこ使いづらいファイルマネージャーからDLしました。

 
もしファイルマネージャ-他がなくて、DLできない場合は、
プラグインはなんとかなるけど、メディアはどーしようもないので、
サイトの保存してみたり、別の方法を探してみてください。

新旧サーバーのphpMyAdminにログイン

phpMyAdminの場所は、サーバーによって違うのでサーバー側に聞いてください。

 
さくらインターネットでは、
「アプリケーションの設定」→「データベースの設定」から作ったDBをクリックすると
「管理ツール ログイン」のリンクが吐き出され、そこからアクセスできます。

 
ログイン画面がこちら
sql01
画面左側がメインメニューで左側にタブメニューと詳細が表示されています。

 
commentmeta
comments
links
options他の前にぼかしを入れましたが、ここには接頭語が入ります。

 
大凡の場合は、「wp_commentmeta」のように接頭語は「wp_」ですが、
さくらインターネットでは、接頭語があらかじめ吐き出されているため、
画像はぼかしました。

 
っで、旧サーバーのデータをエクスポートして、新サーバーにインポートし復活させる!
がっっ
エラーが出るのでデータを修正しないといけません!

 

旧サーバーのデータをエクスポート

画面右側のタブメニュー「エクスポート」をクリックすると、
「DBのダンプ(スキーマ)表示」が出てきます。

sql02
よくわかんないけど、とりあえずSQLにチェックして実行すると、ファイル名.sqlがDLできます。

 
ファイルの中身を見ると、上の全メニュー名とデータの型と結果が記載されています。

新サーバーにインポート(前準備)

もし新サーバーにて接頭語が設定されていた場合
 
sqlファイルを修正する必要があります。
新サーバーphpMyadmin画面の左側の名称と同じにしなくてはいけません。
たとえば、
旧サーバーは「wp_commentmeta」、でも、
新サーバーは「wp1234d1commentmeta」だった場合は、
「wp1234d1commentmeta」で指定しなければいけません。

 
なので、旧サーバーのデータファイルを開いて、
一括置換しました。

 
次に、インポートしますが、エラーが出ると思います。
試しに、今修正した旧サーバーのデータをインポートしてみます。

 

エラーが出るけどインポート
 
sql03
タブメニューのインポートから、ファイルを指定し実行でインポートします。

 
はいっエラーです。
 
「Duplicate entry ‘1’ for key ‘PRIMARY’」

 
いつも思います。
エラーメッセージ吐き出す気なら、
併せて解決策も提示しといてくれよと。

 
このエラーは、
同じ番号(1)にはすでにデータが入っていて、
(上書きはできないので)重複エラーという意味。

 
新旧のphpmyadminの左メニューでoptionsを開いて比べて見てみてください。
sql04
option_idの列に入っている番号(1とか2とか)が、新にも旧にもあって重複しています。
新のoption_idの番号と重複している旧データを削除しなければいけません。

 
旧サーバーのデータファイルを開いて「options」を検索すると、以下のような記述が出てきます。
—-
INSERT INTO `wp_1options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(1, ‘siteurl’, ‘http://hogehoge.com/wp’, ‘yes’),
(2, ‘home’, ‘http://hogehoge.com/wp’, ‘yes’),
(3, ‘blogname’, ‘ほげったブログ’, ‘yes’),
(4, ‘blogdescription’, ‘Just another WordPress site’, ‘yes’),
(5, ‘users_can_register’, ‘0’, ‘yes’),
・・・・
—-
っで、削除前に旧サーバーのデータファイルのバックアップをとっておきましょう!
あとで使います。
ファイルをコピーして、重複しているものを行ごと削除します。

 

エラーが出るけどインポート 2
 
修正したファイルを、エラーが出るけどもっかい試しにインポート。
またまたエラー。

 
今度は entry ‘1’ ではなく entry ‘1245’ 。
つまり1245番がエラーで、それ以下も処理もできやせん!となりました。

 
旧サーバーのデータファイルで1245番を探したら、
番号間にデータの型(INSERT INTO)が記載されていました。

—-
(1244, ‘option_name’, ‘option_value’, ‘autoload’),
INSERT INTO `wp_1options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES
(1245, ‘option_name’, ‘option_value’, ‘autoload’),
—-

 
INSERT INTO~は、データの型にマッチしない(データの型を指定しているだけな)のでエラーになりました。
ということで、データテーブル1番の上に記載してある「INSERT INTO」以外、
データーテーブル間にある「INSERT INTO」のみを削除しました。
※1番の上にあるのを削除したらエラーになります。

新サーバーにインポート

すべての修正が完了したので、インポートしてみたらやっとインポート成功!

 
もし成功しなかったら、「wp_commentmeta」「wp_options」ごとにエクスポート&インポートできます。
何がエラーなのかわからない時は、一つずつ調べた方が良いです。

 

プラグインまわり

これ、やっかいです。
 
もともとプラグインを使っていろんな設定でページを吐き出していました。
データテーブルにもプラグインに関する記述があります。
どんなプラグインをインストールしているか、プラグイン名や有効かどうかなどです。

 
新旧のoption_name [active_plugins]の値を見てみると、
新の方はプラグインをインストールしていないので、
デフォルト値が、
旧の方はインストールしたプラグインが入っています。

 
っで、新のWP管理画面で、新たにインストールして設定するとなると、
プラグイン単体がバージョンアップされている場合もあるし、
フォルダ名とか階層が変わっている場合もあります。

 
なので、いったん旧サーバーのプラグインと全く同じ状態にして、
あとでプラグインの更新をすることにしました。

 
とりあえず、先にDLしておいたwp_content内の plugins と uploadsを新サーバーにアップロードしておきます。

 
option_name [active_plugins]
 
旧サーバーのデータファイルの
option_name [active_plugins]にはプラグイン関連の記述があります。

 
新旧サーバーのphpmyadominのoptionsを開き、 [active_plugins]を探し鉛筆マークをクリックします。
sql05

 
すると編集画面が開きます。
sql06
新サーバーに入っているoption_valueの値を、旧サーバーのものに差し替えて実行します。
ちなみにプラグインの方のデータはpostmetaに格納されていました。

ふっかぁぁぁぁぁぁぁぁぁぁぁぁつ!!

サイトをチェック!

 
問題ない!

 
ふっかぁぁぁぁぁぁぁぁぁぁぁぁつ!!!!!!!!!!!!!!!



page top