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

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

ロリポップのユーザー専用ログイン。
サーバーの管理・設定でデータベースを選択。
ワールドプレスのサイトヘルスにのっていたデータベース名等と一致するデータベース操作ボタンをクリック。
(私は2つのサイトを管理しており、画像の一番上のデータベースは休止中。一番下の5.7のデータベースは1つ目のサイトで運用中。この記事を書いている今回は、2番目のデータベース(2つ目のサイト)のバージョンアップに挑戦)

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

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

データベース名等が正しいことを確認し、左端の「+」クリックでファイルを展開。

エクスポートをクリック。

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

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

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

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

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

プルダウンメニューから作成するサーバーを選択(どれでもいい)。
私は、別サイトのデータベースで使っているサーバーと別のにしました。

任意(自分の好きなの。古いデータベースと同じでもいい?)のデータベース名とパスワードを入力し、作成ボタンをクリック。

新しいデータベースができていることを確認。
(並びは、データベース名のアルファベット順?)
(この画面では、どのドメインがどのデータベースを使っているのか、わからない)
スポンサーリンク
【手順3】新規データベースにSQLファイルをインポート
旧データベースからSQLファイルのエクスポートを押したときと同じ手順で、
新規データベースの操作するボタンをクリックして、phpMyAdmiにログイン。

データベース名を展開。
インポートをクリック。
ファイルの選択で、旧データベースからエクスポートしたSQLファイルを添付。
実行。
ここでエラーが発生。(焦って、スクショしなかったので、画像なし)
#1044 – Access denied(アカウントには必要な権限がない)
まず、参考サイトで推奨していた古いデータベース名のコメントアウトを試すことにしました。
SQLファイルをテキストエディタで編集するのですが、どのエディタがおすすめなのかわかりません。
しかたがないので、メモ帳で試したところ、なんとか記述できたので、もう一度インポート。
今度は
#1046 – No database selected(データベースが選択されてない)

次に、参考サイトに載っていたもう一つの方法、古いデータベース名を新しいデータベース名に変更(全部で3か所。上のほうなのですぐにわかると思う)。

これでどうにか、インポートに成功。
新規データベースでワールドプレスを利用できる環境が整いました。
このやり方が本当に正しかったのか、正直自信はありませんが、今のところ、サイトは正常に動いています。(このトラブルがあったので、2つ目のサイトでは最初からデータベース名の書き換えを行ってインポートさせました)
【手順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バージョンアップを初めて行った感想
作業量はたいしたことありません。
慣れている人なら、20分くらいで終わることでしょう。
私は、いろいろ調べて悩みながら作業したので、1つ目のサイトでは完了まで8時間くらいかかりました。
自分一人でやってみてつくづく思い知らされたのは、マニュアルの重要性です。
これがあるとないとでは、緊張感、安心感が全然違います。
まだまだ素人レベルの趣味サイトなので、失敗してもそれほど大きな損害は出ません。
だからこそ挑戦してみようと思ったわけですが、もし、誰かに依頼(有料)にされたら、とてもではないが、怖くて引き受ける気にはなれません。
今後もバージョンアップの必要性に迫られることを考えると、マニュアルを作成できるくらい、自分のITスキルを高めていくしかないのでしょう。
コメント