[MySQL]5.7から8.0.33へバージョンアップ(Windows編)

MySQL

概要

Windows サーバーで上で稼働している MySQL 5.7 を 8.0.33 へバージョンアップさせる。

手順

最新の MySQL 入手

以下のWEBサイトより入手する

過去バージョンは 「Archives」を選択し,該当バージョンを入手する。MSI版とZIP版があるが,このマニュアルではZIP版を使用する

ファイルの配置

ZIPファイルを C:\Program Files\MySQL\MySQL Server 8.0.33 に解凍する。(フォルダは自分で作成)

my.ini の作成

# ------------------------------------------------------------------------
# CLIENT
# ------------------------------------------------------------------------
[client]
default-character-set=utf8
port=3306

[mysql]
default-character-set=utf8

# ------------------------------------------------------------------------
# SERVER
# ------------------------------------------------------------------------
[mysqld]
#
# Base
#
basedir="C:\Program Files\MySQL\MySQL Server 8.0.33"
datadir="C:\ProgramData\MySQL\MySQL Server 8.0.33\Data"
explicit_defaults_for_timestamp=true
default-storage-engine=MYISAM
port=3306
server_id=1
character-set-server=utf8

# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M 

sql_mode=NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,ONLY_FULL_GROUP_BY,NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

innodb_buffer_pool_size = 500M

C:\Program Files\MySQL\MySQL Server 8.0.33\my.ini を新規作成する。中身は上記の通り。必要に応じて,パラメータを変更追加する。

データフォルダ作成とコピー

my.ini に記述した,”C:\ProgramData\MySQL\MySQL Server 8.0.33\Data” のフォルダを作成します。
フォルダと配下のNTFSアクセス権に Network Service を追加

MySQL5.7 のサービスを停止

MySQL5.7 のデータファイル (”C:\ProgramData\MySQL\MySQL Server 5.7\Data\”)をすべて,C:\ProgramData\MySQL\MySQL Server 8.0.33\Data\ へコピー

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

8.0からは不要になったようです。

サービスの無効と登録

旧MySQLのサービスを無効にします。

次に,コマンドプロンプトにて MySQL8.0.33 をサービス登録します。

cd C:\Program Files\MySQL\MySQL Server 8.0.33\
.\bin\mysqld –install MySQL8.0.33 –defaults-file=”C:\Program Files\MySQL\MySQL Server 8.0.33\my.ini”

MySQL8.0.33サービスのログオンアカウントを Network Service に変更します。パスワードは空欄です。

my.ini最終調整しOS再起動

これで完了です。サーバーを再起動して,問題なく各種アプリが動作するか確認します。
使用ユーザーやパスワード情報はすべて引き継がれていました。設定する必要はありませんでした。

トラブルシューティング

サービスがエラーで起動しないとき

エラーログファイルにて原因を探します。
“C:\ProgramData\MySQL\MySQL Server 5.7\Data\サーバー名.err”

MY-000077 SQL_MODEに関するエラーがある

my.ini で設定してる sql_mode の値に, NO_AUTO_CREATE_USER が含まれているなら消す。NO_AUTO_CREATE_USER は 8.0 からは使用されなくなったそうです。

プロパティ

MySQL 5.7
MySQL 8.0.33
Windows Server 2019

コメント

スポンサーリンク
タイトルとURLをコピーしました