AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

現代において my.cnf に default-authentication-plugin は指定できない

事情があって古い環境を保守している人が MySQL 8.0 -> 8.4 などにアップグレードすると、mysql_native_password から caching_sha2_password に変更されているのでパスワード認証が通らない事がある。

ググると my,cnf に default-authentication-plugin=mysql_native_password を指定しろ、や default_authentication_plugin=mysql_native_password じゃないとダメだよ、など書いてあるが、この記述では現代の MySQL 8.4 においては指定できないようになっている。

ちなみに、起動を試みると以下のようなエラーになるはず。

unknown variable 'default_authentication_plugin=mysql_native_password'.

どうする

代わりに my.cnf へ mysql_native_password=ON を指定する。

[mysqld]
mysql_native_password=ON

これで動くようになる。 mysqld --verbose --help などでエラーが出ないか確認しながら試すと良い。

参考

zenn.dev