このブログの DB を MySQL8.0 へアップデートした

以前データベースを 5.7 にアップデートした記事を上げた。全く同じ手順で、 MySQL8.0 へアップデートしたので、改めて記事にしたいと思う。

WordPress データベースサーバー 5.7 系統へ Update

昨日やるといっていたデータベースサーバーのアップデートを実行しました。いろいろ引っかかったけど成功。

まずは失敗例から(汗

データベースからデータを抜き出し、新しいデータベースに転送する。ここで私ミスりました。

私は同じライセンスで 3 つのブログを書いています。 A ・ B ・ C とします。 A のブログからデータを抜き出して保存します。保存したデータにちょっとだけ加工を施して、新しいデータベースにそのデータを書き込みます。新しいデータベースを X とします。 A のデータを X に書き込みます。ところが、書き込む前にちょっと加工する段階で、なにを思ったか B のブログを参照してしまいました。

wp-config.php にデータベースのアクセスデータを書き込むのですが、データと加工した部分が整合取れていません。当然のようにエラーになります。

気がつくのに小一時間かかりました。ダメですね。初歩的なミスです。

(気を取り直して)手順です

  • wp-config  をバックアップ
  • 古いデータベースサーバーからデータをエクスポート
  • 新しいデータベースを作成
  • データを修正
  • 新しいデータベースへデータをインポート
  • wp-config  を新しいデータベースへ書き換え

手順としてはこんなところです。難しくはありません。難しくないのですが、ミスをすると書きためたブログデータが消失します。慎重に作業しましょう。

wp-config.php をバックアップ

wp-config.php を ftp などを使ってローカル環境にコピーします。ローカル環境にコピーしたヤツはあとで書き換えますので、バックアップを取っておいてください。

古いデータベースからデータのエクスポート

データのエクスポートですが、

phpmyadmin を操作してエクスポートします。このときエクスポート以外の操作は必要ありませんので、データを壊さないように気をつけてください。ここで変な操作をするとブログ壊れます。

で、エクスポートを選択すると標準状態では「簡易」が選択されているはずです。これは「詳細」を選択します。

「詳細」を選択すると、下の方に「生成オプション」が現れます。図では非選択になっている(これがデフォルト)ところが 2 つあります。これを ON にします。「 DROP DATABESE IF EXISTS コマンドを追加する」と「 DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」ですね。

新しいデータベースを作成

データベースを作成しますが、データベース名、ユーザー名、パスワード、データベースのホスト名を記録しておきます。ホスト名というのは、 Lolipop の MySQL8.0 サーバーの名前です。 2024/06/01 現在 MySQL8.0 に対応したサーバーは 2 つしかないようです。これから増えていくんでしょう。蛇足ですが、データベース名を変えてもホストが同じだと、パスワードが同じものになってしまいます。私はさっき書いたように 3 つのブログを作っていますので、データベース名を変えてもパスワードは2種類しか(現時点では)設定できないことになります。

データを修正

データベースからエクスポートしたデータは、プレーンテキストになっていますので、改行コードを変えないエディタで編集します。最近のは違うらしいですが、 Windows に搭載されているメモ帳は改行コードを変えてしまうので、使用厳禁です。

編集するのは、デターベース名が書かれている 3 カ所。新しいデータベースのデータに書き換えてセーブします。書き換える前は、以前のデータベース情報になっているはずです。

新しいデータベースへインポート

エラーが出ないことを祈ります。インポートでエラーが出るのは、エクスポートの時に必要なチェックが入っていないなどで出てきます。注意しましょうね。基本的には手順をきっちり行っていれば、エラーは出ないと思います。間違えて昔のデータベースにインポートしたり、別のデータベースにインポートしたりすると訳がわからないエラーが出る可能性があるので、注意しましょう。

wp-config.php を新しいデータベースに書き換え

最初にコピーした wp-config.php を新しいデータベースを指し示すように書き換えます。くれぐれもバックアップを取っておいてください。間違えてしまったときに後戻りできません。あと、 Lollipop では Web 上でできる FTP サービスがありますが、あれを使って直接 wp-config.php を書き換えるのは推奨しません。簡単ではありますが、後戻りができませんので、ローカル環境にコピーすることをオススメします。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '●●●●●●');

/** MySQL データベースのユーザー名 */
define('DB_USER', '△△△△△');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '◆◆◆◆◆');

/** MySQL のホスト名 */
define('DB_HOST', '□□□□□);

この伏せ字にしたところを新しいデータベースに従って入力します。元々は古いデータベースの情報が入っていたはずです。

wp-config を戻してちゃんと表示されるかどうかを確認

上で書き換えた wp-config.php をサーバーに戻して作業は完了です。きちんと表示されれば良し、されなければどこかで間違いが発生していることになります。 wp-config.php のバックアップはうまく表示されなかったときに戻しましょう。うまく表示されていれば完了です。古いデータベースは削除してもいいです。

操作は簡単だけど、間違いポイントは多い

やってみると操作は簡単ですが、間違えてしまうポイントは多いです。慎重にかつ大胆に操作しましょう。 7.6 から 8.0 にしても体感的にはあまり変わらない気がします。

サイトヘルスでこのメッセージが出なくなって気分的に良くなる。というのが、体感的なメリットでしょうか。セキュリティ的にも向上しているはずです。やってみればそれほど難しくはないので、お休みの時にでもやってみてはいかがでしょうか。

投稿者プロフィール

kaizawa
kaizawaブロガー
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA