ロリポップ!サーバーのMySQLをバージョンアップ

手順は2023年1月にMySQLを5.6から5.7へバージョンアップしたときのものです。
2024年10月に5.7から8.0にバージョンアップしたときは、ロリポップ!のデータベース内の表記や項目に一部違いがありましたが、手順を進める上で問題になることはありませんでした。(2024年10月5日追記)

いつからかはハッキリしないが、サイトヘルスステータスは「良好」ながら「サイトの状態は健康ですが、まだパフォーマンスやセキュリティを改善する余地があります。サイトヘルス画面上の1項目をご確認ください。」とのメッセージが出ていた。内容を見てみると「MySQLバージョン5.7以上を推奨」とのことで、致命的ではないらしい。

ちょっとは気になりながらも放置していたが、新年も迎え心機一転バージョンアップすることにした。
ところが、ロリポップ!では提供はするが、5.6から5.7への移行ツールのようなものは提供してないとのこと。もちろん、新規に作成するデータベースは5.7になるが、バージョンアップは自分の手でやってね、ってことらしい。
何やら厄介なことになりそう。。。っで、ネットを探ってみると、幾つかその手順が引っ掛かった。中でも詳細に記述された『ロリポップ・データベース(MySQL5.7)バージョンバージョンアップの手順(ブログのblog)』を参考にさせていただきました。

大まかな手順

私は「スタンダード」プランなので、それを前提にバージョンアップの手順を書きます。
「スタンダード」プランはデータベースを50個まで作れるので、新規追加でMySQL5.7でデータベースを作成できます。

当サイトでは「ライト」プランに対応した手順は記述していません。「スタンダード」プラン以上の方のみ参考にしてください。 理由は「ライト」プランではデータベースを1個しか作れないため、現在のデータベースを削除してから、新規にMySQL5.7でデータベースを作成することになるためです。

ざっと手順を確認しておきましょう。

  1. サイトのバックアップ
  2. 「wp-config.php」をダウンロード
  3. データベースのエクスポート
  4. 新しくデータベースを作成
    自動的にMySQL5.7で作られるので、バージョンを意識する必要はありません
    ロリポップでは2022年2月3日以降作成されるデータベースはMySQL5.7になります → 参考記事
  5. データベースのインポート
  6. 「wp-config.php」を編集(新しいMySQLの情報に書き換える)
  7. 「wp-config.php」をアップロード
  8. サイトの動作確認
  9. 古いデータベースの削除

「ロリポップ!FTP」で直接「wp-config.php」を編集出来ますが、万一を考え ダウンロード → 編集 → アップロード の手順を取ります。

サイトのバックアップを取る

念のためサイトのバックアップをとっておきましょう。
私はサイトの更新ごとにAll-in-One WP Migrationでバックアップをとっています。
万一失敗した場合でも、時間はかかりますが、ゼロからWordPressをインストールし直して復元できます。

「wp-config.php」ダウンロード

私は手順が簡単で使い慣れたFTPソフト「FileZilla」でダウンロードしましたが、ここでは「ロリポップ!FTP」での手順を紹介します。

  1. 「ロリポップ!ユーザー専用ページ – インフォメーション」にログインする
  2. [サーバーの管理・設定] → [ロリポップ!FTP]
  3. [homepage](ルートディレクトリ) → [home](サブディレクトリ) → [wp-config.php]をクリック
  4. wp-config.phpの編集画面で[ダウンロード]をクリック
  5. 「ダウンロードして宜しいですか?」ダイアログで[OK]をクリック
  6. ダウンロードした「wp-config.php」のバックアップ(コピー)を作る
    あとで「wp-config.php」を編集するので、念のためのバックアップです

「wp-config.php」を複数ダウンロードする場合があります。 私はサーバーに公開用ドメインと未公開用のサブドメインを設置、さらに公開用ドメインには2つのサブディレクトリを設置しています。全部で3つの「wp-config.php」(「データベーステーブルの接頭辞」が異る)が存在することになり、合計3回ダウンロードしました。

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

ここで「サーバー」、「ユーザー名」、「パスワード」が必要になりますが、事前に調べなくても途中で確認出来るので心配は要りません。では、いきましょう。

  1. [サーバーの管理・設定] → [データベース] → 現在のデータベース一覧が表示される
  2. [操作する]をクリック(データベースバージョンが5.6になっている)
  3. 「サーバー」、「ユーザー名」をメモ → [パスワード確認]をクリック → ダイアログで表示される「パスワード」をメモ → [OK] → [phpMyAdminを開く]をクリック → 「phpMyAdmin」に遷移
  4. 上項3.でのメモから「サーバー選択:」で使用しているサーバーを選択 → 「ユーザ名:」でユーザ名を確認(合っているはず) → 「パスワード:」にパスワード入力 → [実行]をクリック
  5. 左メニューからエクスポートするテーブルをクリック(選択)
  6. テーブル一覧表示で[エクスポート]クリック
  7. 「エクスポート方法:」で[詳細 – 可能なオプションをすべて表示]をチェック → 複数のオプションが表示される
  8. 「テーブル:」で[全選択]をクリック(最初から全選択になっているかも知れないが、念のため) → 「生成オプション:」で「追加コマンド:」の上2つもチェックする(生成オプション:」すべてがチェックされた状態にする) → [実行]をクリック

前項「wp-config.php」ダウンロード」で3つの「wp-config.php」をダウンロードしたと書きましたが、「データベーステーブルの接頭辞」が異るためで、3つとも必要なので[全選択]をクリックしました。
もし複数の中に不要な接頭辞がある場合は、一度[全選択解除]をクリックして、必要な接頭辞だけ選択してください。

  1. 「LAA1204100-ov0l17.sql」がダウンロードされる
  2. 「LAA1204100-ov0l17.sql」のバックアップ(コピー)を作る
    後でファイルを編集するので、念のためのバックアップです

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

新データベース MySQL5.7を作成しますが、この先データベースを1つしか持てない「ライト」プランの方は参考になりません。

  1. [サーバーの管理・設定] → [データベース] → [作成]をクリック
  2. 「作成するサーバー」:サーバーを選択(選択肢は3つありました) → データベース名:条件内で任意の名前を入力 → 接続パスワード:条件内で任意に設定 → [作成]をクリック → 2回表示されるダイアログで[OK]をクリック → MySQL 5.7で作成される

データベースのインポート

MySQL 5.7で作成されたデータベースにエクスポートしたテーブルをインポートしますが、基本的にはエクスポートと同じような作業です。

  1. ダウンロードした「LAA1204100-ov0l17.sql」を〈テキストエディット〉で開き、古いデータベース名を新しいデータベース名に書き直して上書き保存する。(インポートエラー #1044 – Access deniedの対策)
  2. [サーバーの管理・設定] → [データベース] → 現在のデータベース一覧が表示される(データベースバージョンが5.6と新規作成した5.7があるはず) → データベースバージョンが5.7で[操作する]をクリック
  3. 「サーバー」、「ユーザー名」をメモ → [パスワード確認]をクリック → ダイアログの「パスワード」をメモ → [OK] → [phpMyAdminを開く]をクリック → 「phpMyAdmin」に遷移
  4. 上項3.でのメモから「サーバー選択:」で使用しているサーバーを選択 → 「ユーザ名:」でユーザ名を確認(合っているはず) → 「パスワード:」にパスワード入力 → [実行]をクリック
  5. 左メニューからエクスポートするテーブルを選択(クリック)
  6. [インポート]をクリック → 「インポートするファイル:」で[選択]をクリック → 1.で編集したSQLファイル(LAA1204100-ov0l17.sql)を選択 → 目的のファイルが選択されていることを確認 → [実行]

  1. 「 インポートは正常に終了しました。○○○○個のクエリを実行しました。 (LAA1204100-ov0l17.sql)」と表示されればインポートは無事完了です

「wp-config.php」の編集とアップロード

いよいよ佳境に入りますが、一番ミスをしやすい部分なので、慎重に。。。

  1. ダウンロードしてあるwp-config.php」をテキストエディットで開く
    「データベース名」、「ユーザー名」(変更ないはず)、「データベースのパスワード」、「データベースホスト」を新しいデータベースのものと書き換え、「データベーステーブルの接頭辞」を確認する → 保存する
  2. [サーバーの管理・設定] → [ロリポップ!FTP]
  3. [homepage] → [home] → [wp-config.php]をクリック →  「現在の属性」を400から600に変更 → [保存する]をクリック → ダイアログで[OK]
  4. アップロードアイコンをクリック
  5. 「上書き」で書きする]をチェック → [ファイルを選択する]をクリック → 書き換えた「wp-config.php」を選択 → 「wp-config.php アップロード待ちです。「アップロードする」ボタンを押してください。」と表示されていることを確認 → [アップロードする]をクリック
  6. 「アップロードしたファイル数」で「合計 1 ファイル実行し、 1 ファイルアップしました 」となればアップロード成功 → 「現在の属性」を400に戻す

私はサーバーに公開用ドメインと未公開用のサブドメインを設置、さらに公開用ドメインには2つのサブディレクトリを設置しています。全部で3つの「wp-config.php」が存在することになり、さらに2回繰り返す必要がありました。

  1. サイトの表示・動作を確認し、問題がなければ古いデータベースを削除する。ブラウザのキャッシュをクリアしてから確認するといいでしょう。
    2日間念入りにサイトを確認し、古いデータベースを削除しました。

バージョンアップ後のトラブル

サイトヘルスで致命的な問題として「ページキャッシュが検出されましたが、サーバーのレスポンスはまだ遅いです」が表示された。しかも「改善が必要」!!

これは放っておけないとネットを探るが、こんなトラブルは見当たらない。では、自分で何とかするしかないと、「ページキャッシュ」をキーワードに次の2点を試してみた。
 ▷ Cocoon設定のキャッシュ削除
 ▷ function.phpに追記していた以下の記述を削除 → サイトヘルス確認 → 再記述

// 「永続オブジェクトキャッシュを使用してください。」表示を消す
add_filter( 'site_status_should_suggest_persistent_object_cache', '__return_false' );

見事に笑顔マークが表示された。

ただ、なぜ上手くいったのか理由はわかりませんし、正しい解決策だったかも不明です。たまたまかも知れません。。。
しばらく様子見です。

感想

データベースを弄るなんて!!相当敷居が高いと思っていたが、終わってみれば思いのほか簡単だった。もちろん、1つ間違えば大事!!サイトが表示されない何てことにもなる。だが、取り掛かる前に手順を良く読み、下準備を十分にして、慌てず確実に実行していけば呆気なく終わってしまう。

バージョンアップ後は体感的にスピードアップが感じられるといった記事もありましたが、私の場合は残念ながらそれはありませんでした。
PageSpeed Insights でバージョンアップ前後を比べましたが、ほとんど誤差程度でした。

「wp-config.php」のダウンロード・アップロードはFTPソフトでやった方が、はるかに簡単で手数も少なくて済む。私は「FileZilla」でやりましたが、使い慣れたFTPソフトあれば使ってみると良いでしょう。

コメント