Web Coding


Warning: Use of undefined constant   - assumed ' ' (this will throw an Error in a future version of PHP) in /home/wanwan888/www/wordpress01/wp-content/themes/w-note1102/single.php on line 25

2011年02月23日

DBのエクスポートとインポート

ローカルサーバ上で作成したWordPressのデータを
公開サーバに移植する手順をおさらいしました。
自分なりの手順が整理できたので、ここに記録しておきたいと思います。
もうこれでデータベースには泣かされないゾ!

WordPressのデータを移植する方法は大きく分けて2通り。
-WordPressの管理画面からエクスポート&インポートする方法と
-データベースをエクスポート&インポートする方法。

両方試してわかったそれぞれの特徴は

. WordPressの管理画面から移植 データベースを移植
長 所 手順が簡単 データがそのまま移植できる
(カテゴリーIDもOK)
短 所 カテゴリーIDが変わってしまう ファイルの書き換えが必要、
手順がちょっとややこしい

カテゴリーIDが変わってしまっても対処法はあるようですが、
ここは王道?のデータベースを移植する方法をとることにしました。

全体の流れは
1、WPのインストール
2、ローカル側データベースのエクスポート
3、公開側データベースへのインポート
4、テンプレートフォルダの移動

1)WPのインストール

公開サーバにWPのインストール機能*がある場合はそれを使ってもよい。
*インストール機能を使う時は、設定時に「ユーザー名、パスワード、メールアドレス、接頭辞」をローカルと同じものにすることを忘れないようにする。
以下1-1~1-4はインストール機能を使わないやり方。

1-1)ダウンロード
WordPress 日本語サイトでwordpressをダウンロードし、解凍する。
解凍された中にあるwordpressというフォルダを使用するが、
このフォルダ名は変更可。ローカルサーバのフォルダ名と同じにする。
ここでは仮にblogという名前に変える。
1-2)wp-config.phpを作る
・先ほどのblogフォルダの中のファイルwp-config-sample.phpを複製し、
 そのファイル名をwp-config.phpに変える。
・wp-config.phpをTeraPad(メモ帳やDWはダメ)で開き
 下記の赤字部分(下記はダミー)に公開サーバの情報を入力する。

/** WordPress のためのデータベース名 */
define('DB_NAME', 'dbname');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'dbusername');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'passward');
/** MySQL のホスト名 */
define('DB_HOST', 'mysql123.abc.hoge.jp');
      ・
      ・
/* WordPress データベーステーブルの接頭辞*/
$table_prefix = 'blog_';

これを上書き保存する(名前をつけて保存はダメらしい)。

1-3)公開サーバにフォルダをアップする
上記wp-config.phpを加えたblogフォルダ(1-1のフォルダ)を
FTPSなどで、公開サーバ上にアップロードする。

   このアップロード場所http://サーバのドメイン名/wpインストールフォルダ名
   がwordpressのアドレス、サイトのアドレスとなる。
   (今回の例だと http://hoge.jp/blog のようになる。)
   このアドレスはあとで必要になるので書き留めておく。

*このフォルダに暫定的にアクセス制限をかけたい場合は、
この時点で、公開サーバの管理画面(ファイルマネージャーなど)に行き、
このフォルダにアクセス制限(ID,パスワード)をかける。

1-4)動作設定をするためにinstall.phpにアクセスする
http://サーバのドメイン名/wpインストールフォルダ名/wp-admin/install.php
(例:http://hoge.jp/blog/wp-admin/install.php)
にアクセスするとインストール画面が出るので、
下図の要領で入力する。(下図のデータはダミーです。)
*ユーザー名、パスワード、メールアドレスはローカルと同じものを入れる。
 ちなみにユーザー名はセキュリティ上adminのままにしない方がよい。

(インストール画面が出ない場合は、wp-config.phpのデータを見直す。)

「成功しました!」画面が出ればWordPressのインストールは完了。

2)ローカル側データベースのエクスポート

2-1)ローカルサーバからデータをエクスポートする
・ローカルのデータベース http://localhost/phpmyadmin/ にログイン。
・データベース一覧(ホーム画面の左側紫色部分)から
 エクスポートするデータ名(仮:wordpress)を選ぶ。
・エクスポートタブ(画面上部)を選び、下図のようにチェックを入れる。
「完全なINSERT文を作成する」と「長いINSERT文を作成する」は、Codexサイトによると「チェックをはずす」とされていたが、今回の実験ではチェックを入れても外しても問題なく移植できた…

上図のようにチェックを入れたら「実行する」をクリックすると、
wordpress.sql (ファイル名はデータベース名による)というファイルが
エクスポートされる。
phpMyAdminからログアウトする。

2-2)wordpress.sqlファイルを修正する
エクスポートされたwordpress.sqlをTeraPad(メモ帳やDWはダメ)で開く。

http://localhost/blog

のローカルアドレスを「検索・置き換え」で、
公開サーバのアドレス(1-3で書き留めたアドレス)に置き換える。

http://hoge.jp/blog

(ドメインを使う場合は後で変えられる。)
ちなみに、今回は1000個近く置き換えられた。
imageにもURLがあるので、それも置き換わったか確認する。

すべて置き換わったら、上書き保存する。

3)公開側データベースへのインポート

3-1)インポートする
・公開サーバの phpMyAdmin にログインする。
(サーバのコントロールページからログインする。)
・データベース名一覧(紫色部分)からデータベース名をえらぶ。
(WPをすでにインストール済みなので、データベースの中には
同じ接頭辞のテーブルができているはず。そこに上書きすることになる。)
・インポートタブ(画面上部)を選ぶ。
・wordpress.sqlの場所を指定し、
・ファイルの文字セットは utf-8
実行するをクリック。

「インポートは正常終了しました。○○ 個のクエリを実行しました」
と出れば、データベースの引っ越しは完了!
phpMyAdminからログアウトする。

4)テンプレートフォルダの移動

4-1)テンプレート関係のフォルダを移す
XAMPP>htdocs>blog(任意のフォルダ名)>wp-contentフォルダの中の
・theme >自分の選んだ(作った)テーマのフォルダ
・plugins>自分がインストールしたプラグインのフォルダ
・uploadsフォルダ(画像等が入っている)
を公開サーバのそれぞれの場所に入れる。
4-2)最終調整
WordPressの管理画面にログインし(例:http://hoge.jp/blog/wp-login.php)
きちんと移植されたか確認する。
プラグインの設定などが必要あればする。
終わり!

今回参照させていただいた記事はこちら

今回はとても多くのサイトを参照させていただきましたが、
特に下記2つの情報に助けられました。感謝です。
データベースの準備とWordPressの動作設定
WordPressのアップロードとインストール作業

W-Note http://wanwan.jpn.org/