先日Wordpressのバージョンを最新版に変更したら管理者メニューの「ツール」に「サイトヘルス」って項目が追加されていたので、「なんだなんだ?」と早速確認しましたところ"致命的な問題"とあまり穏やかじゃないキーワードが。
そういえば、毎日何かしら更新してやろうとはじめてから4500日以上経過しているのですが、それまで一切DBとかのメンテしていないのでそりゃそうだよなぁと思いつつ、現在使用しているDBのバージョンを確認したところMySQL5.0ってことで、こりゃ流石にVerUpしないといかんだろってことで、早速やってみることに。
事前準備
DBのバックアップはウィークリーでGmail宛にぶん投げるようにしているのでロールバックしても数日分の投稿が消えるぐらいではあるのですが、一応最新の状態でバックアップ。
まぁ最悪動かなくなったらホスティングサービス側に「前の日のデータに戻して・・」と泣きつけばまるっと戻せるんで・・・とか思ったんですけど、データベースも同じように戻してもらえるのかな? 今度確認しておくか・・・
まぁ何が言いたいかと言うとバックアップは大事。
移行先のDBを新規作成
かれこれ10年以上使わせてもらっているInetdのコントロールパネルにログインしてまずは移行先のDBの準備。 管理画面を見てみると「容量不足で新しいDBは出来ません」という悲しいメッセージが表示されていたので、移行用にDB容量拡張しないと行けないのかなぁ・・・・と悩んでいたのですが、既存のDBのサイズがお借りしている容量目一杯になっていたのが原因だったようで、容量を一時的に削減したところ無事に新しいDBを準備できました次第で。
とりあえず容量を半分個にしてMySQL5.7のDBを準備。 文字コードは絵文字とか使うつもりはあんまり無いけど拡張性があったほうが良いでしょうってことでutf8mb4を指定。
旧DB→新DBにファイルを移行
事前にMySQLのデータエクスポートからインポートの手順を確認して早速やってみるかと思っていたのですが、MySQLの管理メニューにMySQL移行ツールってのがありましたのでこいつでやってみることに。
で、早速旧DBのユーザー名やらパスワードやらが要求されるのですが、そういえばこれホスティングサービスの自動設置にまかせてしまったのでそのあたりの情報バックアップ取っていないぞ・・・と思ったのですが、そういえばwp-config.phpに平文で書いてるじゃんということを思い出してなんとかログイン完了。
その後は新しいDBのユーザ名、パスワードを入力したら5分もしないでバシッとデータの移行は完了しましたとさ。
他ホスティングサービスにも同じような移行ツールは結構あるみたいなので、「うえぇえ、なんかトラブルあったら嫌だから触りたくないよぉ・・・」って方も安心ですな。うんうん。
WordPressの参照先DBを新しいものに変更
先程旧DBにアクセスするために参照しましたwp-config.phpのDB参照先の情報を変更。 トラブルあったら困るのでもともとのファイルはファイル名の後ろに日付を突っ込んでおいてバックアップ
/** WordPress のためのデータベース名 */
define('DB_NAME', '新しいDB名');
/** MySQL データベースのユーザー名 */
define('DB_USER', '新しいDBのユーザ名');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '新しいDBのパスワード');
/** MySQL のホスト名 */
define('DB_HOST', '新しいDBのホスト名');
/** データベースのテーブルを作成する際のデータベースのキャラクターセット */
define('DB_CHARSET', 'utf8からutf8mb4');
変更したファイルをサーバにUPしてこれで準備は完了。
動作確認
試しにトップページと数個の記事参照してみたところ特に問題なさそうなのでバッチリかな。
併せて、冒頭にありました「サイトヘルス」の箇所を確認しましたところ"良好"とお褒めの言葉いただきましたので大丈夫かなと
おわりに
というわけで、ほげほげのバージョンアップだどうだって毎回ろくなことにならないんですが、今回はホスティングサービス側の移行ツールにおんぶに抱っこしてもらったところノートラブルで完了しました。
こういうの自前でやると、古いものを新しくしないといけないとか面倒だなぁ・・・とぼやくぐらいだったらWordpress自体をホスティングしているサービス借りればいいじゃんって話ではあるのですが。
20代の後半ぐらいはこんなんだったりVPS借りてRedmine立ち上げてみたりとか興味津々でいろいろチャレンジしてみたのですがもう最近のはやりについていけていなくてからっきし状態。 なんですが、たまにやってみてノートラブルだと多少なりともやりきった感が出るのでいいなぁと思いました次第でした。