1.概要
デスクトップPCを買い替えたのでMySQLをインストールしようとしたところ、何回やってもうまくいかない・・・
ネットのどの記事を見てもアンインストールして再インストールで直った報告ばかり。深夜の眠たい時間に数時間沼ってしまいました。
二度とこの悲劇を起こさないためにも備忘録を書き残しておきます。
2.原因
とにかく「Initializing database」の実行中にエラーが発生する。
エラー発生時のログを見るとどうやら文字化けしているようだ。
Starting process with command: C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.0\my.ini" --console --initialize-insecure=on --lower-case-table-names=1...
C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld.exe (mysqld 8.0.33) initializing of server in progress as process 6768
InnoDB initialization has started.
InnoDB initialization has ended.
mysqld: Error on delete of '.\髫・シ魯PC-bin.index' (OS errno 42 - Illegal byte sequence)
しかし文字化けの原因がわからない。どこかで日本語文字が使われているのだろうと推測しても、パスはデフォルト「C:\ProgramData\MySQL\MySQL Server 8.0」なのでどこにも日本語なんて使われていない。
そこでInitializing database実行時に参照している「my.ini」を確認。
すると125行目あたりに原因となる記載があった
general_log_file="【日本語のPC名】.log"
これでした。
PCのセットアップ時に何も考えずPCに日本語で名前をつけていたのをすっかり忘れていました。そしてこのせいで毎回Initializing databaseの実行に失敗していたのでした。
3.解決
PCの名前の変更後、MySQLのアンインストール→インストールで無事完了できました。
PCの名前の変更はwin11だと「システム」→「名前の変更」で簡単に変えられます。
皆さんも沼にはまってしまう前にPC名に日本語をつけるのはやめときましょう。本当に初心者丸出しのミスでした。