この記事は単に自分のための覚え書きおよびWP初心者には少しは役に立つかも、という程度のものですが、自分が結構ハマったので記載しとく。
ペンギンのずっこけ日記を期待している常連さんは流してください。
今回、サーバー移転するにあたり、blogツールをWordPressに変更した
今まで使っていたSerenBach (SB)が記事数が増えるにつれてあまりにも動作が重くなってきたのがその理由
ちょこっとググってみたところ、CGIよりもphpの方が軽い、ということである
phpで動作するものとしてはMovableType (MT)が日本では主流
が、最初にブログを設置する時にMTの管理画面が直感的にわかりにくくてなんとなくなじめなかったので、どうしたもんかと悩んでいた
そんなときにみつけたのがWordPress (WP)
確かボストンのダイゴさんのところへ久しぶりに行ってみたら、ツールがWPだったのである
ほ~ こんなツールもあったのね、ということで、やってみた
そしたら、えらいことインストールもカスタマイズも簡単で扱いやすかったのである
こりゃええわい♪
しかも、SBからWPへのデータ移行もむちゃくちゃ楽だった
SBにはデータのエクスポート機能がデフォルトでついていて、MT方式でエクスポートしたのをWPのインポート機能を使って読み込んだだけで記事ばかりでなくコメントや画像までちゃんとくっついてきてくれたのである
すばらしい!
ところが、である
移転先にしようとしていたSAKURAサーバーへのアクセスが自分の環境からだと致命的に重いという問題があってやむなく断念
結局、今まで使っていたサーバー (Xserver) に出戻ってきた
そちらに新たに設置したWPへ、さて、データをインポートしようとしてふと
「ん? SAKURAへ仮設置してから書いた記事はまぁほんの数日分しか足されてないから手作業でもいいとして、そこについたコメントやらせっかく設置したpagesも手作業でやるのは面倒だな」
しかしながら、驚いたことに、なんと、WPにはエクスポート機能がないのである
それらしいプラグインは2つほど見つけたのだが、バージョンと相性が悪いらしくて動かない
とにかくググりまくって見たところ、どうやらWPではデータベースのデータをそのまま新しいサーバーのデータベースに移すのが一般的らしい
で、やって見ました
サーバーのコントロールパネルからphpMyAdminというのにアクセスし・・・ようかと思ったら、なんとSAKURAはユーザにその権限を設定していないらしくアクセスできない
エクスポートできないじゃん!
と、思ったら、幸いにもWPにデフォルトでついてた『データベースバックアップ機能』を使って、なんとかデータベースのデータは吸い出すことができたのでほっとする
プラグイン画面でWordPress Database BackUPを有効化すると、『管理』タブに『backup』というタブが表示されるので、あとはBackUP!ボタンを押せば、自分のパソコンハードディスク上にローカルバックアップが作成される
さて、これを新サーバーのデータベースに書き込んでみよう
と、最初はいきなりバックアップファイルを一括アップロードし、もとのデータを上書きしようとしてみた結果、データベースってのは上書きはできないことになってるらしく、一度データベースに作成されていたテーブルを全部削除しなければならんかった
削除のやり方
MySQLからデータベースを選ぶと内容が一覧表示される
各テーブルのチェックボックスをチェック(または『全てをマーク』をクリックすれば全部にチェックが入る)
プルダウンメニューの『チェックしたものを』→『削除』
本当に実行しても良いですか? → はい
完了した旨のメッセージが出ればおっけ
テーブル削除後、『SQLタブ』から先ほど作成したローカルバックアップデータを『参照』し、アップロード
したら、いきなり必要なテーブルが全部ちゃんとインポートされてきた
おおっ こんな簡単なことだったのか!
ところが、である
記事もコメントもpages部分も全部ちゃんと取り込めたのはいいのだが、管理画面に入ろうとしたらなぜかSakuraサーバーに設置してあるブログの方の管理画面に行っちゃうのである
新たに設置したブログに書き込むことも設定を変更することもできん
ありゃ・・・どうやらインポートしたデータの中に、リファラ(サイトのアドレス情報)が書き込まれているやつがあったらしい
しゃーないので、もういっぺんデータベース中のテーブルの中身を全部空っぽにし、WPを再インストール
ここからがキモ
新たに作成されたデータベーステーブルは
wp_categories
wp_comments
wp_linkcategories
wp_links
wp_options
wp_post2cat
wp_postmeta
wp_posts
wp_usermeta
wp_users
という名前で計10個ある
エクスポートタブをクリックし、wp_optionsだけを選択してエクスポート
(自分のデータベース名).sqlというファイル名のローカルバックアップを保存しとく
データベースのメインページに戻って、またも作成されたテーブルを全部 『削除』(空にするのではなく、削除する)
SQLタブをクリックし、先ほどと同じ手順でログが保存されているデータベースバックアップファイルをアップロード
メインページに再び戻り、wp_optionsだけを削除
ローカル保存しておいたwp_optionsのsqlファイルをアップロード
(゚Д゚)ウマー
それにしても、何でこういうことを解説したマニュアルが(日本語で)完備されていないのだろう?
日本のフォーラムを検索しても見つからなかったし
本家のフォーラム(英語)を検索するのはちと面倒だし
ググってもちゃんと解説してある記事は見つからなかったし
結局自己解決するしかなかったので、一応、ここへ書き記しとく、ということで おけ?
追記
SAKURAでphpMyAdminが使えない、というのは誤りで、ちゃんとコントロールパネル内にリンクボタンがありました
ちょっと気づきにくかったのが敗因
オラ単なるバナーかと思っちまっただよ
phpMyAdminが使える場合はもちろんもっと簡単にデータ移行できる
wp-optionsだけを除外したsqlファイルをエクスポート
移転先のデータベーステーブルからwp-optionsだけを残してあとは削除
先ほど作成したsqlファイルをインポート
もっと(゚Д゚)ウマー