以前データベースを 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 にしても体感的にはあまり変わらない気がします。
サイトヘルスでこのメッセージが出なくなって気分的に良くなる。というのが、体感的なメリットでしょうか。セキュリティ的にも向上しているはずです。やってみればそれほど難しくはないので、お休みの時にでもやってみてはいかがでしょうか。
投稿者プロフィール
最新の投稿
- Tech2024年11月28日ChromeOS flex を古いノートにインストール
- Linux2024年11月16日Ubuntu で外付け SSD の容量が違って見える
- Linux2024年11月13日Windows インストールできず。 Ubuntu に変更
- Windows2024年11月8日Windows11 起動せず