先日、当ブログで利用しているレンタルサーバー「ロリポップ!」がMySQLの最新版5.6.11を導入したことをリリースしていました。しかも、データベースサーバーにSSDを採用したとのこと。

WordPress移行当時のMySQLバージョンが5.1だったこともあって、今回最新版にアップデートしてみました。

MySQL5.6

ロリポップ! でデータベースの移行を行う場合、ロリポプラン、チカッパプランでも可能ですが、ロリポプランはチカッパプランと違って、複数データベースの作成ができません。

そのため、ロリポプランで以下の手順で移行する場合、一度データベースがなくなった状態となります。アップデートがすべて完了するまで、ブログ記事などは一切表示ができなくなりますので、その点だけ留意してください。

できれば作業は深夜に、メンテナンス画面を表示させたりするなどしておくと、アクセスしてくれた人に親切ではないかと思いますよ。

アップデートの手順

1) データベースのエクスポート

アップデートするには、まずは現状のデータベースをバックアップしないといけません。
まずはロリポップ!の管理画面にログインし、さらにphpMyAdminへログインします。

phpMyAdminにログインしたら、対象のデータベースを選択。続いてエクスポートタブをクリックします。

データベースのエクスポート

こんな画面が表示されるはずなので、エクスポート方法を詳細にして画面を切り替えましょう。

データベースのエクスポート

詳細画面に切り替わったら、生成オプションの項目にある
「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT コマンドの追加」
にチェックを入れます。あとはそのまま何もいじらずにエクスポートを実行します。

2) 新しいデータベースを作成する

続いて、ロリポップ! の管理画面から新しいデータベースを作成します。

新規データベースを作成

ロリポップ! の管理メニューから[WEBツール]→[データベース]に進んで、作成ボタンをクリック。

Database makes 02

作成の時に気をつけなければならないのが、作成するサーバーのバージョン。
デフォルトでMySQL5.6のサーバーが選択されていると思いますが、選択されているかどうか一応確認をしてください。

データベース名と接続パスワードは任意でどうぞ。

3) SQLファイルをインポートする

ここまで来れば、あともう少しで移行が完了ですよ。
先ほどエクスポートしたSQLファイルを新しいデータベースにインポートします。

新規データベースへのインポート

今度は、新しく作成したデータベースのphpMyAdminにログインし、先ほど作ったデータベースを選択。メニュータブからインポートに進みましょう。

一番上に「インポートするファイル」という項目があるので、そこからファイルを選択してアップロードし、無事にインポートが終われば、あと一歩で完了です。

ただ、ここが結構難所だったりするかもしれません。

というのも、まずアップできるファイルの最大サイズは16MiBと決まっています。そのため、これを超えるとアップロードができません。

実際、うちのブログの場合は制限をはるかに超えるサイズでした。

しかし、だからといって分割してインポートするのはめんどくさい。そこで利用したのが「bigdump」というツール。PHPベースのMySQLインポートツールですね。
詳しい使い方については、小粋空間さんで知ることができるので、ぜひ、そちらを参照してみてください。

これを使うことで、制限を大きく超えるファイルでもサクリとインポートが可能です。

4) wp-config.phpの変更

ようやく終わりが見えました。
あとは、WordPressのコアファイル「wp-config.php」をほんのちょっといじります。

wp-configの変更

「wp-config.php」をエディタで開いて、23行目から39行目あたりをチェックしてみてください。WordPressのデータベース名から始まる一連の設定があると思います。

ここの[DB_NAME]にphpMyAdminに作成したデータベースの名前を、[DB_USER]にphpMyAdminのユーザー名を、[DB_PASSWORD]にphpMyAdminのパスワードを、そして[DB_HOST]に新しく作成したデータベースのサーバーアドレスを入力して保存します。

これで、すべての作業が無事できていれば、何事も問題なく表示できるようになっているはずです。どこかでエラーがあると、記事が表示できないなど問題が出るので、ひとつひとつの工程をしっかり進めるようにしてくださいね。

個人的な失敗ポイント

とかなんとか偉そうに説明しましたが、実は結構失敗してたりします。

うちの場合、失敗の原因となっていたのが、WordPressのリダイレクトプラグイン「Redirection」でした。

要はリダイレクトをWordPressの管理画面上で行うことのできるプラグインなわけですが、これのログもデータベースに格納されるんですね。で、長くこれを使ってるとデータベースのサイズがバカみたいにデカくなるんです。

このデカさが問題なのか、それともログのテーブルが壊れていたのか、「bigdump」を使ってもインポートに失敗し、記事が表示されないという現象に見舞われました。

そんなわけで、うちではエクスポートの段階で「Redirection」のログテーブルだけ除いたところ、その後のインポートは問題なくするっと完了。

まぁログなだけなので、基本的にはなくてもリダイレクトの機能自体には影響なしだったので良しとしました。

少しは表示高速化の手助けになってるんだろうか

ということで、粛々とデータベース移行をしてみたわけですが、表示速度的に多少は変わってくれたんでしょうかね。

元々がMySQL5.1だったことを考えれば、それなりに影響があってしかるべきな気もするんですが、体感的にはそこまで変化を感じられないというかなんというか。。
一応、「GTmetrix」で計測してみたら、少しパフォーマンスが上がったんですけどね。

いずれにしても、最新版にアップデートしておくこと自体は悪いことじゃないと思うので、ロリポップ! ユーザーで移行ができる人はやっておくといいかもしれません。

Commentsコメントしてもらえると励みになります