概要
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
コメント