2019.05.25Hacksスポンサーリンク先日、当ブログで利用しているレンタルサーバー「ロリポップ!」がMySQLの最新版5.6.11を導入したことをリリースしていました。データベースサーバーにSSDを採用したとのこと。WordPress移行当時のMySQLバージョンが5.1だったこともあって、今回最新版にアップデートしてみました。データベースの移行を行う場合、ロリポプラン、チカッパプランでも可能ですが、ロリポプランはチカッパプランと違って、複数データベースの作成ができません。そのため、ロリポプランで以下の手順で移行する場合、一度データベースがなくなった状態となります。アップデートがすべて完了するまで、ブログ記事などは一切表示ができなくなりますので、その点だけ留意してください。できれば作業は深夜に、メンテナンス画面を表示させたりするなどしておくと、アクセスしてくれた人に親切ではないかと思いますよ。データベースのエクスポートアップデートするには、まずは現状のデータベースをバックアップしないといけません。ロリポップ!の管理画面にログインし、さらにphpMyAdminへログインします。phpMyAdminにログインしたら、対象のデータベースを選択。続いてエクスポートタブをクリックします。こんな画面が表示されるはずなので、エクスポート方法を詳細にして画面を切り替えましょう。コマンドの追加」にチェックを入れます。あとはそのまま何もいじらずにエクスポートを実行します。管理画面から新しいデータベースを作成します。管理メニューから[WEBツール]→[データベース]に進んで、作成ボタンをクリック。作成の時に気をつけなければならないのが、作成するサーバーのバージョン。デフォルトでMySQL5.6のサーバーが選択されていると思いますが、選択されているかどうか一応確認をしてください。データベース名と接続パスワードは任意でどうぞ。SQLファイルをインポートするここまで来れば、あともう少しで移行が完了ですよ。先ほどエクスポートしたSQLファイルを新しいデータベースにインポートします。今度は、新しく作成したデータベースのphpMyAdminにログインし、先ほど作ったデータベースを選択。メニュータブからインポートに進みましょう。上に「インポートするファイル」という項目があるので、そこからファイルを選択してアップロードし、無事にインポートが終われば、あと一歩で完了です。ここが結構難所だったりするかもしれません。いうのも、まずアップできるファイルの最大サイズは16MiBと決まっています。そのため、これを超えるとアップロードができません。実際、うちのブログの場合は制限をはるかに超えるサイズでした。いって分割してインポートするのはめんどくさい。そこで利用したのが「bigdump」というツール。PHPベースのMySQLインポートツールですね。詳しい使い方については、小粋空間さんで知ることができるので、ぜひ、そちらを参照してみてください。phpMyAdminでインポートできない大きなファイルを一気にインポートできる「BigDump」phpMyAdminでインポートできない大きなファイルを一気にインポートできるツール「BigDump」の紹介です。www.koikikukan.comこれを使うことで、制限を大きく超えるファイルでもサクリとインポートが可能です。wp-config.phpの変更ようやく終わりが見えました。あとは、WordPressのコアファイル「wp-config.php」をほんのちょっといじります。「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」で計測してみたら、少しパフォーマンスが上がったんですけどね。ユーザーで移行ができる人はやっておくといいかもしれません。カズキフリーランスのウェブディレクター。