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

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

MySQL5.7 系統へアップデート

定期確認サイトヘルス

定期的に確認しているWordPressのサイトヘルスページ。今回はこんな結果です。

データベースサーバーが古いよ。と指摘されたので、 MySQL5.7 系統へアップデートしました。手順としては、

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

さほど難しくはないのですが、 3. のデータを修正しないで何度かはじかれました。

手順

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

最後の最後でこいつに手を加えて書き戻します。バックアップをおろそかにするとアップデートに失敗したときに後戻りが難しくなりますので、しっかりバックアップしておきましょう。ちなみにサーバー内にバックアップするのはオススメしません。ローカル環境にバックアップしましょう。

2. 古いデータベースサーバーからデータをエクスポート

phpMyAdmin で操作しますが、 Lollipop さんには常備されているので使います。古いデータベースサーバーにログインして(ログイン方法はググってください)、エクスポートを選択します。

エクスポート方法は、「簡易」ではなく「詳細」を選択します。そうするといっぱいオプションが出てきますが、その中の「生成オプション」に注目します。

「 CREATE DATABASE/USE コマンドを追加する」「 DROP TABLE/VIEW/PROCEDURE/FUNCTION/EVENT/TRIGGER コマンドを追加する」この二つのオプションが OFF になっているので ON にします。実は私のデータベースは2つのブログで共用していた時期があり、接頭辞で使用するのを分けていたのですね。もうひとつのブログは既にありませんので、接頭辞でフィルターを掛けて使っていないデータを除いた状態でエクスポートしました。通常は全てで OK だと思います。

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

phpMyAdmin から Lollipop さんのデータベース設定画面に戻って、新しいデータベースを作成します。デフォルトでは 5.7 系統が選択されているはずですが、良く確認しましょう。データベース名とパスワードを選択して作成。まっさらなデータベースができたはずです。

4. データを修正

エクスポートしたデータは sql コマンドの羅列のプレーンテキストなのでバックアップした後、適当なテキストエディタで開きます。冒頭部分に

-- データベース: `<古いデータベース名>`
--
CREATE DATABASE IF NOT EXISTS `<古いデータベース名>` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `<古いデータベース名>`;

このような記述があるはずです。この < 古いデータベース名 >を先ほど作った新しいデータベース名に書き換えます。私はここを端折ってエラーを食らいました。修正するのはここだけでいいはずです。

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

4. で修正した sql ファイルをインポートします。 phpMyAdmin を開くんですが、古いデータベースと新しいデータベースを間違わないようにしましょう。データが入っているところに重ねようとするとこれまた当然ですがエラーになります。開くのは 3. で作った 5.7 系統のデータベースです。

これまでのところを押さえてあれば問題なくインポートできるはずです。ここまで来ればあと一歩です。

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

バックアップしておいた wp-config.php を書き換えます。書き換える前にコピーを作って置くと安心です。

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

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

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '<新しいデータベースのパスワード>');

/** MySQL のホスト名 */
define('DB_HOST', '<新しいデータベースのホスト名>');

この部分を書き換えます。古いデータベースから新しいデータベースの情報に書き換えるんですね。

書き換えたファイルを所定の場所にアップロードします。後は動くか動かないか。動かなかったら手順をもう一度おさらいしましょう。動くはずです。どっか見落としているところがあるんじゃないでしょうか。どうしても動かない場合は、 wp-config.php を最初に戻して書き戻せば古いデータベースからデータを読み込むようになります。

あくまでもやれる自信のある方だけやってね

確認方法としては、もう一度サイトヘルスを開いてみれば、「古いデータベースサーバー云々」というメッセージが消えているはずです。

投稿者プロフィール

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

コメントを残す

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

CAPTCHA


WordPress

前の記事

定期確認サイトヘルス
blog

次の記事

優秀な結果