
PHPとMySQLのバージョンが低かったので年末の時間のある時にやっておこうということで。WordPressのバージョンアップするのもままなっていなかったので、良い機会かと。MySQLのバージョンのせいか、クエリのせいかよくわかりませんが、文字化けもしてしまってました。まだ気になるところ色々ありますが。。
s27 → s318に移行。
今回、このあたりを参考にXREAの管理画面にある「サーバー間コピー」でやってみましたが、うまくいきませんでした。MySQL側にいろいろ溜め込んでしまったプラグインのクエリが邪魔していたようです。なので、サーバー間コピーはやめて手動でIPとサブドメインを設定。
1)s27.xrea.comのphpMyAdminからmonocateの「エクスポート」wordpressのデータベースのクエリを全て出力してファイルで保存しても取り込みでエラーに。圧縮形式を .zip や .gzip にしてもNG。EUCエンコーディングへ変換で出力してもNG。
2)使用していないプラグインのクエリも存在していたので、それを除くWordPressの必要なクエリのみ選択してSQLで .gzip で再度出力。エンコーディング変換はなし。(プラグインを色々追加するのは良いのですが、DBにもクエリ追加するものはバックアップとか移行のときにちょっと面倒だなと思いました。。)
3)s318.xrea.comのphpMyAdminから「インポート」正常に取り込みができた。ブラウザからアクセスすると、日本語が全て「?」に存分に文字化け。
4)wp-includes/wp-db.php 57行目に次の1行を追加。リロードして文字化け解消。
mysql_query(“SET NAMES utf8″, $this->dbh);
ついでにURIを www.shiftmode.net/sync から shiftmode.net/sync に変更。WordPress管理画面とドメインの転送設定を変更してDNS設定の浸透を少し待ってブウラザ確認でOK。サーバー間コピーだと30分とかそこらで移行完了するそう?ですが、僕の場合は思いのほか時間がかかってしまいました。バックアップのプラグインとか、phpMyAdminの操作とかたまに目を通しておきたいところです。WordPressのような動的ページの移行の場合は、特に移行手順を設計する必要があります。
順序的には以下のような感じでしょうか。まだまだよく分かっていない方なので、間違っているかもしれません。その際はご指摘いただければと思います。
(1) 移行先サーバの用意(スペック確認:PHP、MySQLのバージョン等)
(2) [新] phpMyAdminをインストール
(3) [新] データベース作成
(4) [旧] phpMyAdminからエクスポート(zip、gzipなど)
(5) [新] MySQLをインポート
(6) [旧] DNSを新サーバに向ける
(7) [新] 画面確認、投稿テスト、画像のアップはできるか。
※[新]:新サーバ、[旧]:現サーバ
XREAの管理画面にあるような「サーバー間コピー」ができるのであれば、上記のような手順はする必要はないと思いますが、うまくいかなかった場合なども想定しておく方が良いです。場合によってはリダイレクトのhtaccessの設定なども必要かもしれません。
