J'ai eu le même problème, mais en utilisant mysql_native_password n'était pas possible avec PHP7.4-mysql-pdo , même lors du paramétrage dans my.cnf comme cela fonctionnait sur PHP7.3-mysql-pdo .
J'ai dû modifier chaque utilisateur avec cette requête :
ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
où username est le nom d'utilisateur et le password de la base de données est le mot de passe de l'utilisateur de la base de données.