IIS 上の WordPress で使用している MySQL のバージョンを 5.1 から 5.7 に上げる際に躓いたこと

PHP の方は WebPI で簡単にバージョンアップできたので問題ないのですが、MySQL の方は WebPI に 5.5 までしかなく、さらに直接バージョンアップできないようなので以下のサイトを参考に実施してみました。

[MySQL]5.1から5.7へバージョンアップ(Windows編) (tksoft.work)

しかし、いくつかの箇所で書いている通りに動かなかったり文字化けしている箇所があったので、そのあたりを補足しておきます。

ちなみに参照先の記事ではコマンドプロンプトを使用していますが、私の環境ではすべて PowerShell で実行しています。

初回起動とデータファイルのアップグレード

image

図のようにかかれているのですが、上記をそのまま実施してもエラーになります。正しい手順としては

  1. コマンドプロンプトを起動して「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」と入力する
  2. 「.\bin\mysqld --skip-grant-tables」と入力する。
  3. 最初のウィンドウは「実行中のまま」になるので閉じずに放置。
  4. 新しくコマンドプロンプトを起動して「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」と入力する
  5. 「./bin/mysql_upgrade -u root 」と入力する。

数十行にわたってアップデートされれば成功です。抜粋すると結果はこんな感じ

Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
      :
      :
status   : OK
Upgrade process completed successfully.
Checking if update is needed.

サービスの無効と登録

ここのコマンドもおそらく文字化けして間違っています。

image

正しい手順は

  1. コマンドプロンプトを「管理者権限」で起動。
  2. 「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」を入力。
  3. 「.\bin\mysqld --install MySQL5.7 --defaults-file="C:/Program Files/MySQL/MySQL Server 5.7/my.ini"」を入力。

正常に実行されたなら「Service successfully installed.」と表示されるはずです。

次の Network Service のパスワードについてですが、登録するタイミングでは空にする必要があります。ここのパスワード蘭は空で登録しても再度開くと空登録でも●●●●が表示される仕組みになっています。

環境変数

変更しなくても 5.7 で動作することは確認しましたが、一応 5.1 から 5.7 に直した方がいいかも。コマンドで「mysql --version」と入力しても 5.1 のままなので。

WordPress 側のセキュリティ対策、バージョンアップを実施しました

WordPress を初期インストールしてから WordPress しかバージョンアップを実施していなかったので、内部の PHP や MySQL のバージョンアップ、HTTP ヘッダーの見直しなどを実施してみました。

基本的にはブログのような扱いしかしていないので閲覧には問題ないと思いますが、何かエラーになるような現象があればコメントください。

※一部のページで前からレイアウトが崩れていますが、まあ記事を見る分には問題ないので放置中…