PHP の方は WebPI で簡単にバージョンアップできたので問題ないのですが、MySQL の方は WebPI に 5.5 までしかなく、さらに直接バージョンアップできないようなので以下のサイトを参考に実施してみました。
[MySQL]5.1から5.7へバージョンアップ(Windows編) (tksoft.work)
しかし、いくつかの箇所で書いている通りに動かなかったり文字化けしている箇所があったので、そのあたりを補足しておきます。
ちなみに参照先の記事ではコマンドプロンプトを使用していますが、私の環境ではすべて PowerShell で実行しています。
初回起動とデータファイルのアップグレード
図のようにかかれているのですが、上記をそのまま実施してもエラーになります。正しい手順としては
- コマンドプロンプトを起動して「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」と入力する
- 「.\bin\mysqld --skip-grant-tables」と入力する。
- 最初のウィンドウは「実行中のまま」になるので閉じずに放置。
- 新しくコマンドプロンプトを起動して「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」と入力する
- 「./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.
サービスの無効と登録
ここのコマンドもおそらく文字化けして間違っています。
正しい手順は
- コマンドプロンプトを「管理者権限」で起動。
- 「cd "C:/Program Files/MySQL/MySQL Server 5.7/"」を入力。
- 「.\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 のままなので。