An 8.4 container image, an application that could not connect, and a plugin that was disabled by default rather than removed.
$ mysql -e "SELECT user, host, plugin FROM mysql.user"
app 10.0.% mysql_native_password
repl 10.0.% caching_sha2_password
$ # the error, which is clearer than most
ERROR 1524 (HY000): Plugin 'mysql_native_password'
is not loaded
$ mysql -e "ALTER USER 'app'@'10.0.%'
IDENTIFIED WITH caching_sha2_password BY '...'"
The plugin can still be loaded with a startup flag, which is the escape hatch and is a way of deferring the change to a version where it is genuinely gone. Changing the authentication method also requires the client to support it — an old PHP build without the right handshake fails differently and less clearly, which is worth checking before the upgrade rather than during.