変更前後の MySQL データを確認する方法
SELECT option_name, option_value FROM wp_options WHERE option_name IN ('home', 'siteurl');
MySQL データベースに登録されている古い URL 情報を更新する方法
# http://newdomain.com が新しい URL # URL の最後にはスラッシュ「/」を付けないことがポイント UPDATE wp_options SET option_value='http://newdomain.com' WHERE option_name IN ('home', 'siteurl');
実演!URL を変更する WordPress 引越で行う MySQL の操作♪
ローカル環境で開発していた URL が http://192.168.56.111 のサイトも完成しました!あとは本番環境のサーバに引っ越しさせるだけ!URL も新しいものを取得した!http://newdomain.com だ!
という状況を想定いたします♪
意気揚々と、WordPress のファイルを本番環境サーバにアップロードします、そしてエクスポートした MySQL データベースを本番環境サーバへインポートします。
完了しました!さあ、新しい朝が来た!「っターン!」とウェブブラウザから新しい URL を叩きます。
。。。あれ!なんだかヘンです><。そんな状況に必ず陥りますので、次の操作が必要なのです♪
まずは変更対象を事前に確認します。
mysql> SELECT option_name, option_value FROM wp_options WHERE option_name IN ('home', 'siteurl'); +-------------+-----------------------+ | option_name | option_value | +-------------+-----------------------+ | home | http://192.168.56.111 | | siteurl | http://192.168.56.111 | +-------------+-----------------------+ 2 rows in set (0.00 sec) mysql>
古い URL が登録されていることがわかります。これを、新しい URL に変えてやれば、よいのです♪そのために、次の SQL を実行します。
ここでのポイントは、先ほど確認した古い URL をしっかりと見て、真似ることです。URL お最後に、スラッシュ「/」がついておりませんね?ですので、新しい URL も最後にスラッシュ「/」をつけません!
mysql> UPDATE wp_options SET option_value='http://newdomain.com' WHERE option_name IN ('home', 'siteurl'); Query OK, 2 rows affected (0.03 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql>
思い通りに変更できたでしょうか?確認するには最初に発行した SQL をもう一度実行してあげれば、よいですわね!
mysql> SELECT option_name, option_value FROM wp_options WHERE option_name IN ('home', 'siteurl'); +-------------+----------------------+ | option_name | option_value | +-------------+----------------------+ | home | http://newdomain.com | | siteurl | http://newdomain.com | +-------------+----------------------+ 2 rows in set (0.00 sec) mysql>
こちらの意図通りに変更完了です。
早速ウェブサイトから確認して、トップページ、管理者ページにアクセスできることを確認し、旧 URL と同じ画面が表示されましたら OK です♪
裏側の仕組みを簡単に解説しますの♪
ファイルを新しいサーバに正しく配置し、MySQL データベースを正しくインポートしたとします(「正しく」の内容はここでは掘り下げませんけれども)。新しい URL で WordPress を再出発です!ですけれども、これでは WordPress は正常には動いてくれませんでした。
これは、WordPress サイトのホームページの URL は MySQL データベースに登録されており、これが新しい URL と一致しない場合はサイトが正しく表示されないためです。この状態ですと、次のような症状となることがわかっています。
- トップページは表示されるが、CSS が無視される
- 管理者ログインページにアクセスできるものの、正しい認証情報を入れても管理者画面にアクセスできない
たとえ表示がおかしくとも、管理者画面からなんとかすればいいや!と思っていても、ダメですの♪だって、データベースに残っている古い URL へアクセスしようとしてしまいますもの。
ではいかがいたしましょうか?簡単ですね?データベースのレコードの値を新しい URL と一致するように更新してあげればよいのです♪
おわりに
操作も難しくありません!。。。ですけれども、いつも、どんな SQL でしたっけ?と小首をかしげながら数分調べて操作しておりました。
面倒ですわ。。。
そのようなわけですからこの度、データの確認、データの変更、データの確認を行う一連の流れをメモいたしました。
今回のやるべきこと、知ってしまえばどうということはありませんけれども、知らなければ頭を抱えてしまいます。「wordpress 引越」や「wordpress 移転」などで検索しましたけれども、表面的で特定のサーバ業者でしか通用しなかったり、意味はわからないけどこれでできたから載せとくといった、わたくしの知りたいレベルを満足させていただけるには不足な解説ページが目立ちまして、ポイントを押さえたページはなかなか見つかりませんでした。
ですけれども最後に辿り着いた一番参考なりましたページがこちらでございます。大変助かりました、ありがとう存じます♪
今回のわたくしの投稿は、このページの「3.1 URLの変更」をコマンドで行ったものです。
以上です。