手順は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でデータベースを作成することになるためです。
ざっと手順を確認しておきましょう。
- サイトのバックアップ
- 「wp-config.php」をダウンロード
- データベースのエクスポート
- 新しくデータベースを作成
自動的にMySQL5.7で作られるので、バージョンを意識する必要はありません
ロリポップでは2022年2月3日以降作成されるデータベースはMySQL5.7になります → 参考記事 - データベースのインポート
- 「wp-config.php」を編集(新しいMySQLの情報に書き換える)
- 「wp-config.php」をアップロード
- サイトの動作確認
- 古いデータベースの削除
「ロリポップ!FTP」で直接「wp-config.php」を編集出来ますが、万一を考え ダウンロード → 編集 → アップロード の手順を取ります。
サイトのバックアップを取る
念のためサイトのバックアップをとっておきましょう。
私はサイトの更新ごとにAll-in-One WP Migrationでバックアップをとっています。
万一失敗した場合でも、時間はかかりますが、ゼロからWordPressをインストールし直して復元できます。
「wp-config.php」ダウンロード
私は手順が簡単で使い慣れたFTPソフト「FileZilla」でダウンロードしましたが、ここでは「ロリポップ!FTP」での手順を紹介します。
- 「ロリポップ!ユーザー専用ページ – インフォメーション」にログインする
- [サーバーの管理・設定] → [ロリポップ!FTP]
- [homepage](ルートディレクトリ) → [home](サブディレクトリ) → [wp-config.php]をクリック
- wp-config.phpの編集画面で[ダウンロード]をクリック
- 「ダウンロードして宜しいですか?」ダイアログで[OK]をクリック
- ダウンロードした「wp-config.php」のバックアップ(コピー)を作る
あとで「wp-config.php」を編集するので、念のためのバックアップです
「wp-config.php」を複数ダウンロードする場合があります。 私はサーバーに公開用ドメインと未公開用のサブドメインを設置、さらに公開用ドメインには2つのサブディレクトリを設置しています。全部で3つの「wp-config.php」(「データベーステーブルの接頭辞」が異る)が存在することになり、合計3回ダウンロードしました。
データベースのエクスポート
ここで「サーバー」、「ユーザー名」、「パスワード」が必要になりますが、事前に調べなくても途中で確認出来るので心配は要りません。では、いきましょう。
- [サーバーの管理・設定] → [データベース] → 現在のデータベース一覧が表示される
- [操作する]をクリック(データベースバージョンが5.6になっている)
- ①「サーバー」、②「ユーザー名」をメモ → ③[パスワード確認]をクリック → ダイアログで表示される「パスワード」をメモ → [OK] → ④[phpMyAdminを開く]をクリック → 「phpMyAdmin」に遷移
- 上項3.でのメモから①「サーバー選択:」で使用しているサーバーを選択 → ②「ユーザ名:」でユーザ名を確認(合っているはず) → ③「パスワード:」にパスワード入力 → ④[実行]をクリック
- 左メニューからエクスポートするテーブルをクリック(選択)
- テーブル一覧表示で[エクスポート]クリック
- 「エクスポート方法:」で[詳細 – 可能なオプションをすべて表示]をチェック → 複数のオプションが表示される
- 「テーブル:」で①[全選択]をクリック(最初から全選択になっているかも知れないが、念のため) → ②「生成オプション:」で「追加コマンド:」の上2つもチェックする(生成オプション:」すべてがチェックされた状態にする) → ③[実行]をクリック
前項「wp-config.php」ダウンロード」で3つの「wp-config.php」をダウンロードしたと書きましたが、「データベーステーブルの接頭辞」が異るためで、3つとも必要なので[全選択]をクリックしました。
もし複数の中に不要な接頭辞がある場合は、一度[全選択解除]をクリックして、必要な接頭辞だけ選択してください。
- 「LAA1204100-ov0l17.sql」がダウンロードされる
- 「LAA1204100-ov0l17.sql」のバックアップ(コピー)を作る
後でファイルを編集するので、念のためのバックアップです
新しいデータベースを作成する
新データベース MySQL5.7を作成しますが、この先データベースを1つしか持てない「ライト」プランの方は参考になりません。
- [サーバーの管理・設定] → [データベース] → [作成]をクリック
- ①「作成するサーバー」:サーバーを選択(選択肢は3つありました) → ②データベース名:条件内で任意の名前を入力 → ③接続パスワード:条件内で任意に設定 → ④[作成]をクリック → 2回表示されるダイアログで[OK]をクリック → MySQL 5.7で作成される
データベースのインポート
MySQL 5.7で作成されたデータベースにエクスポートしたテーブルをインポートしますが、基本的にはエクスポートと同じような作業です。
- ダウンロードした「LAA1204100-ov0l17.sql」を〈テキストエディット〉で開き、古いデータベース名を新しいデータベース名に書き直して上書き保存する。(インポートエラー #1044 – Access deniedの対策)
- [サーバーの管理・設定] → [データベース] → 現在のデータベース一覧が表示される(データベースバージョンが5.6と新規作成した5.7があるはず) → データベースバージョンが5.7で[操作する]をクリック
- ①「サーバー」、②「ユーザー名」をメモ → ③[パスワード確認]をクリック → ダイアログの「パスワード」をメモ → [OK] → ④[phpMyAdminを開く]をクリック → 「phpMyAdmin」に遷移
- 上項3.でのメモから①「サーバー選択:」で使用しているサーバーを選択 → ②「ユーザ名:」でユーザ名を確認(合っているはず) → ③「パスワード:」にパスワード入力 → ④[実行]をクリック
- 左メニューからエクスポートするテーブルを選択(クリック)
- ①[インポート]をクリック → 「インポートするファイル:」で②[選択]をクリック → 1.で編集したSQLファイル(LAA1204100-ov0l17.sql)を選択 → ③目的のファイルが選択されていることを確認 → ④[実行]
「wp-config.php」の編集とアップロード
いよいよ佳境に入りますが、一番ミスをしやすい部分なので、慎重に。。。
- ダウンロードしてあるwp-config.php」をテキストエディットで開く
①「データベース名」、②「ユーザー名」(変更ないはず)、③「データベースのパスワード」、④「データベースホスト」を新しいデータベースのものと書き換え、⑤「データベーステーブルの接頭辞」を確認する → 保存する - [サーバーの管理・設定] → [ロリポップ!FTP]
- [homepage] → [home] → [wp-config.php]をクリック → ①「現在の属性」を400から600に変更 → ②[保存する]をクリック → ダイアログで[OK]
- アップロードアイコンをクリック
- 「上書き」で①[上書きする]をチェック → ②[ファイルを選択する]をクリック → 書き換えた「wp-config.php」を選択 → ③「wp-config.php アップロード待ちです。「アップロードする」ボタンを押してください。」と表示されていることを確認 → ④[アップロードする]をクリック
- 「アップロードしたファイル数」で「合計 1 ファイル実行し、 1 ファイルアップしました 」となればアップロード成功 → 「現在の属性」を400に戻す
私はサーバーに公開用ドメインと未公開用のサブドメインを設置、さらに公開用ドメインには2つのサブディレクトリを設置しています。全部で3つの「wp-config.php」が存在することになり、さらに2回繰り返す必要がありました。
- サイトの表示・動作を確認し、問題がなければ古いデータベースを削除する。ブラウザのキャッシュをクリアしてから確認するといいでしょう。
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ソフトあれば使ってみると良いでしょう。
コメント