Ho avuto lo stesso problema, ma utilizzando mysql_native_password non era possibile con PHP7.4-mysql-pdo , anche impostando in my.cnf dato che funzionava su PHP7.3-mysql-pdo .
Ho dovuto modificare ogni utente con questa domanda:
ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
dove username è il nome utente del database e la password è la password dell'utente del database.