ワードプレスのサイトヘルスステータスで「古いデータベースサーバー」と表示されたときの対処方法についてメモしておこうと思います。
サーバー ロリポップ
PHP 8.1モジュール
ワードプレステーマ affinger6
そもそも古いデータベースサーバーって何?
『WordPress 動作要件をさらに詳しく知る』を見てみるとMySqlのバージョンは5.7以上となっています。
確かにバージョンは5.7以上推奨ですね。ではサイトヘルスの『情報』からデータベースを見てみると・・・
要するに、「今の貴方のデータベースをバージョン5.7以上のデータベースにしたほうが良いですよ」というわけだな。
どうやってデータベースをバージョンアップするんだ?
さくらインターネットでは「データベースアップグレード機能」、エックスサーバーでは「MySQL移行ツール」とツールがあるのですが、ロリポップでは、そのような機能は無いみたいですね。サーバーのバージョンアップはサポート対象外ということで自己責任らしいです。
データベースはサポート外ですが、バージョン5.7のデータベースはリリースしているので(2022年11月現在)手動で行えばよいわけです。
手順としては・・
- 現在のデータベースをダウンロード
- 新たにデータベースを作成
- ダウンロードしていたデータベースを新データベースにアップロード
- 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を使った手順が間違いなくできたので、どうにもならなかった方は、ぜひお試しください。
サイトヘルスの警告「古いデータベースサーバー」というのは、致命的なエラーではないので「時間があったらバージョンアップしておいてくださいね~」といった程度だと思います。
ただ、サーバーの移行ツールなどもデータベース容量の制限がある場合もありますので、余裕があるうちに移行しておいた方がいいかもしれませんね。