サイトヘルスの警告「古いデータベースサーバー」の対処方法

ワードプレスのサイトヘルスステータスで「古いデータベースサーバー」と表示されたときの対処方法についてメモしておこうと思います。

サイトヘルスの警告が出たときの環境

サーバー ロリポップ
PHP 8.1モジュール
ワードプレステーマ affinger6

そもそも古いデータベースサーバーって何?

WordPress 動作要件をさらに詳しく知る』を見てみるとMySqlのバージョンは5.7以上となっています。

確かにバージョンは5.7以上推奨ですね。ではサイトヘルスの『情報』からデータベースを見てみると・・・

要するに、「今の貴方のデータベースをバージョン5.7以上のデータベースにしたほうが良いですよ」というわけだな。

どうやってデータベースをバージョンアップするんだ?

さくらインターネットでは「データベースアップグレード機能」、エックスサーバーでは「MySQL移行ツール」とツールがあるのですが、ロリポップでは、そのような機能は無いみたいですね。サーバーのバージョンアップはサポート対象外ということで自己責任らしいです。

データベースはサポート外ですが、バージョン5.7のデータベースはリリースしているので(2022年11月現在)手動で行えばよいわけです。

手順としては・・

  1. 現在のデータベースをダウンロード
  2. 新たにデータベースを作成
  3. ダウンロードしていたデータベースを新データベースにアップロード
  4. wp-cinfig.phpを書き換え

といった手順になるのですが、ロリポップのphpMyAdminから行うと、どうゆうわけかエラーとなる場合もあったので、今回は確実に移行ができた方法を解説いたします

アップグレード手順

確実に移行ができるように、以下の手順で進めます

(1)UP-Draftでデータベースをバックアップ&ダウンロード
(2)新たなデータベースを作成
(3)UP-Draftでダウンロードしたファイルをアップロード
(4)wp-config.phpを書き変え

(1)UP-Draftでデータベースをバックアップ&ダウンロード

最初にワードプレスのブログにログインしてバックアッププラグイン『UpdraftPlus』でデータベースのバックアップを取ります。

普段のバックアップをUpdraftPlusでおこなっていない方はインストールしてください

以下からUpdraftPlusが有効化されていることを前提で進めます。

Step1:ダッシュボードから『設定』→『UpdraftPlus』でUpdraftPlus Backup/Restore画面にいきます。

『今すぐバックアップ』ボタンをクリックしてデータベースをバックアップします。

Step2:バックアップしたらファイルをPCにダウンロード。

これが現在のデータベースファイルで、’backup_yyyy-mm-dd-XXXX_サイト_xxxxxxxxx-db.gz’ といった、拡張子が’.gz’というファイルでPCにダウンロードされます。

(2)新たなデータベースを作成

新たにデータベースを作成
ロリポップにログインして『サーバー管理・設定』→『データベース』から、バージョン5.7の新たなデータベースを作成します。

(3)UP-Draftでダウンロードしたファイルをアップロード

データベースのインポート
新たに作ったデータベースにアクセスして、(1)のStep2でダウンロードしたバックアップファイルをインポートします。

『インポートは正常に終了しました・・・・』と表示されれば完了です。

(4)wp-config.phpを書き変え

以下の部分を新たなデータベース用に書き換えます。

「データベース名」「ユーザー名」「データベースのパスワード」「ホスト名」これを新たなデータベースのものと書き換えます。

以上4つの手順で完了です。

正しくwp-config.phpが書き換えられたら普段通りにワードプレスにログインできるはずです。
ログインしたらサイトヘルスでちゃんとデータベースがV5.7になっているか確認してみてください。

この手順でいくつかのデータベースをバージョンアップしましたが、全て順調に行えました。おそらくこれが一番確実な方法なのではと思っています。

ロリポップからエクスポート・インポートするとエラーが出る件について

普通なら、ロリポップのphpMyAdminにアクセスしてエクスポート/インポートで簡単にできるはずでしたが、どう言うわけかエラーが出てインポートできなかったので、参考までに。

手順は先と同じで

(1)データベースのエクスポート
(2)新しいデータベースの作成
(3)新データベースへデータベースのインポート
(4)wp-config.phpの書き換え

といった手順です。エクスポートとインポートをphpMyAdminから行う方法です。おそらく皆さんはこの方法をとったと思います。

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

ロリポップのphpMyAdminにアクセスして古いデータベースをエクスポートします。

詳細・可能なオプションをすべて表示』にチェックをいれ、全てのテーブルを選択します。

出力では『ZIP形式』を選択。(データベースサイズが小さければ必要ない)

生成オプションでは上の2つにチェックを入れます

この設定で実行ボタンをクリックすれば、データベースがPCにダウンロードされます。

(2)新しいデータベースの作成

ロリポップにログインして『サーバー管理・設定』→『データベース』から、バージョン5.7の新たなデータベースを作成します。

(3)新データベースへインポート

新しくつくったデータベースにアクセスして、(1)でエクスポートしたファイルをインポートすればOKです。

ですが・・・・

このようなエラーが出てしまうんですね。

ここでニッチもサッチもいかなくで挫折するようです。

普通に考えると、この手順で間違いないとは思うのですが、なにか違うのでしょうね。

(1)でエクスポートしたファイルの中のデータベース名を新しく作ったデータベース名に書き換えて、ファイルの最初の方にある CREATE DATABAE~ の行と次のUSE の行を削除すると、うまく行ったこともありますが、成功したりしなかったりと不安定でした。

また、ファイルが大きいとTeraPadなどのエディタではメモリ不足で読み込めず。ワードでは読み込めても保存する際にエンコードが変わるようで、これもうまくいきませんでした。

最後に

結局、先に解説したUP-DRAFTを使った手順が間違いなくできたので、どうにもならなかった方は、ぜひお試しください。

サイトヘルスの警告「古いデータベースサーバー」というのは、致命的なエラーではないので「時間があったらバージョンアップしておいてくださいね~」といった程度だと思います。
ただ、サーバーの移行ツールなどもデータベース容量の制限がある場合もありますので、余裕があるうちに移行しておいた方がいいかもしれませんね。