Miałem ten sam problem, ale używając mysql_native_password nie było możliwe z PHP7.4-mysql-pdo , nawet po ustawieniu w my.cnf jak to działało na PHP7.3-mysql-pdo .
Musiałem zmienić każdego użytkownika z tym zapytaniem:
ALTER USER 'username'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';
gdzie username to nazwa użytkownika bazy danych i password to hasło użytkownika bazy danych.