事情があって古い環境を保守している人が 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 などでエラーが出ないか確認しながら試すと良い。