先日、本サイトを運営するワードプレス(WordPress)にログインし、サイトヘルスステータスをクリックしたところ、上の画像の内容が表示されました。
“古いデーターサーバー”
MySQLのバージョンを8.0以上にアップグレードしたほうがいい、というアドバイスです。
サイトが良好であることに変わりないので、そのままにすることもできましたが、より使いやすいサイトになればとの思いから、バージョンアップに挑戦してみることにしました。
MySQL8.0バージョンアップしたときの環境
レンタルサーバー:ロリポップ
プラン:ハイスピード
現在のバージョン:5.7
ブラウザ:Chrome
OS:Windows 11
作成ソフト:WordPress
テーマ:Cocoon
管理人の経験:ワードプレス利用歴3年。MySQLバージョンアップは3度目。プログラミング関連のスキルはほぼ素人同然
補足:本記事は、元々MySQL5.7バージョンアップ用に作成(2022年11月14日)したものを、MySQL8.0バージョンアップ用に再編成(2024年4月8日)したものです。
MySQLバージョンアップのマニュアルはない?
MySQLバージョンアップは、記事や画像などのデータを管理するシステムを新しくする、ということだと私は勝手に解釈しています。
Windows updateやワードプレス、テーマ、プラグインの更新などと同じですよね。
ただ、MySQLには自動更新がないようです。
ボタンを押したら、はいおしまいというわけにはいきません。
最初、この問題をどうにかしようと思ったとき、マニュアルを探したわけですが、見つかりませんでした。
どうも、ロリポップでは、データベース関連のサポートは対象外にしているようです。
MySQLバージョンアップのための下準備
・ワードプレスで保存した各データのバックアップ
ワードプレスにログインできなくなるなど、万が一のトラブルが起きた時の保険です。
記事が少ないのなら、『All-in-One WP Migration』。
記事が多い場合は、『BackWPup』。
がいいかなと思われます。
・テキストエディタ
メモ帳(SQL編集用)とTeraPad(PHP編集用)
PCにメモ帳はありましたが、TeraPadはなかったので、公式サイトからダウンロードしました。
・現在のデータベースの情報の確認

ワードプレスのサイトヘルスの情報→データベースをクリック。
バージョンアップ後に変わるのは、『サーバーバージョン』『データベースホスト』『データベース名』の三つです。
エクセル等にメモしておくといいでしょう。
MySQLバージョンアップの大まかな流れ
1.ロリポップの古いデータベース(5.7)からワードプレスのデータ(SQLファイル)を抜き出す(エクスポート)
2.ロリポップで新しいデータベース(8.0)を作成する
3.抜き出したワードプレスのデータを、新しいデータベースに入れる(インポート)
4.ロリポップのFTPで、古いデータベースから新しいデータベースに移行するよう設定
手順1、2はどっちが先でも問題ありません。
また、3までなら、多少失敗をしてもサイトには影響しません。(データベースを1つしか作れないライトプランは除く)
リスクが伴うのは手順4のみとなりますが、ダメだったら、古いデータベースに戻せばいいので、データベースを複数作成できるスタンダード以上のプランなら、それほど臆することはないと思われます。
サーバーを土地、ドメイン(URL)を住所、サイト(ブログ)をマンション、データを家財で例えると、データベースはマンションの一室といったところでしょうか。
MySQLバージョンアップでは、土地、住所、マンションはそのままなので、同じマンションの5階から、より暮らしやすい最上階の6階にお引越しする、と考えるとイメージしやすいかもしれません。
【手順1】旧データベースからSQLファイルのエクスポート

ロリポップのユーザー専用ログイン。
サーバーの管理・設定でデータベースを選択。
ワードプレスのサイトヘルスにのっていたデータベース名等と一致するデータベース操作ボタンをクリック。

パスワード確認をクリックし、必要に応じてパスワードをエクセル等に控える。
phpMyAdminを開く。

データベースに記載されていたユーザー名、パスワードを入力、サーバーはプルダウンメニューから選択して、ログイン。

データベース名等が正しいことを確認し、エクスポートをクリック。

詳細をクリックで、データベース名の表示、選択を確認。

生成オプションの上から2項目はデフォルトではチェックが入ってないので、両方ともクリック。(ここにチェックが入っていないと、インポートしたときエラーが出るらしい。また、名称や項目の数は定期的に変わっている模様)

最後にエクスポートをクリック。(データベース名選択と生成オプションの2つ以外はいじらない)
エラーが出なければ完了。

SQLファイルはPCにダウンロードされる。
phpmyyadminを閉じる。
【手順2】新規データベース(MySQL5.7)の作成
現時点(2024年4月8日)において、ロリポップではMySQL8.0(最新バージョン)のデータベースしか作成できないようになっています。

ロリポップのデータベースで、作成ボタンをクリック。

プルダウンメニューから作成するサーバーを選択(どれでもいい)。
任意(自分の好きなの。古いデータベースと同じでもいい?)のデータベース名とパスワードを入力し、作成ボタンをクリック。

新しいデータベースができていることを確認。
スポンサーリンク
【手順3】新規データベースにSQLファイルをインポート

インポートする前に、手順1でダウンロードしたSQLファイルをメモ帳で開き、古いデータベース名を新しいデータベース名に変更(全部で4か所。上のほうなのですぐにわかると思う)。
ここで書き間違えると、インポートとしたとき、下記のエラー出るので、慎重に作業を行う。
#1044 – Access denied(アカウントには必要な権限がない)
#1046 – No database selected(データベースが選択されてない)


旧データベースからSQLファイルのエクスポートを押したときと同じ手順で、
新規データベースの操作するボタンをクリックして、phpMyAdmiにログイン。
右上のインポートをクリック。
ファイルの選択で、さきほど編集したSQLファイルを添付。
最後に一番下のインポートをクリック。

インポート完了。
新規データベースでワードプレスを利用できる環境が整いました。
【手順4】ロリポップのFTPでwp-config.phpのデータベース名等の変更
この段階では、旧データベース、新規データベースのどちらにも同じワードプレスのファイルが入っています。
1つのドメインで必要なデータベースは1つだけです。
そして、まだ、サイトは旧データベースのデータを使って動いています。
ここでは、旧データベースを休止し、新規データベースでサイトを運用するための設定を行います。
インポートまではエラーが出ても、サイトに影響は出ませんが、ここからは違います。
よりいっそう注意を払いながら、一つ一つゆっくり確実に作業を進める必要があります。

まず、ロリポップのサーバーの管理・設定からロリポップFTPにログイン。
対象のドメインのファイルを開く。

「wp-config.php」ファイルを探してクリック。



「wp-config.php」ファイルをダウンロード。
ダウンロードしたファイルは、念のためコピーを作っておく。

TeraPad(メモ帳ではダメ)で、ダウンロードした「wp-config.php」ファイルを開く。
「データベース名」「パスワード」「データベースホスト名」の3か所を編集。
旧データベースの情報が記載されているので、これを新規データベースの情報に書き換える。

「ファイル」→「文字/改行コード指定保存」をクリック。
「wp-config.php」ファイルにも書かれているように、文字コードは『UTF-8N』で上書き保存。
TeraPadを閉じる。


ロリポップFTPの「wp-config.php」編集画面に戻り、現在の属性400を600に変更して保存。(アップロード前に、これをしないとエラーが出るらしい)

画面左上のアップロードアイコンをクリック。
アップロード画面に代わったら、転送モードは『AUTO』、上書きは『上書きする』を選択。
ファイルを選択するボタンをクリックして、編集した「wp-config.php」ファイルを添付。
アップロードするボタンをクリック。

リストの一番上にファイルが表示されるので、これをクリック。


データベース名等が変更されているのを画面で確認したら、現在の属性644になっているのを400に戻して保存。


ワードプレスにログインして、新規データベースのMySQLバージョン等に変更されているのを確認。
最後に、サイトを使ってみて、問題がないことを確認できたら終了となります。
MySQLバージョンアップを行った感想
初めてのときは8時間。
2度目は1時間。
そして、1年半ぶりに作業した今回は2時間です。
phpMyAdminのデザインやSQLファイルの中身が微妙に変わっていて手こずりました。
やっぱり、マニュアルがほしい。
今のところトラブルは起きていませんが、このやり方で本当に正しいのか?
おかしなところがあれば、指摘していただけると助かります。
コメント
以前よりMySQLのバージョンを8.0以上にアップグレードを促されていましたが、果たして自分で出来るのか?ずっと躊躇しておりました。
本日、この記事にたどり着き意を決してバージョンアップに臨みました。
不具合もなくスムーズに作業が完了し大変参考になりました。
ありがとうございました。