Solución:
Resuelvo esto con el comando SQL:
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
al que hace referencia https://dev.mysql.com/doc/refman/8.0/en/alter-user.html
si está creando un nuevo usuario
CREATE USER 'jeffrey'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
al que hace referencia https://dev.mysql.com/doc/refman/8.0/en/create-user.html
esto funciona para mi
A partir de PHP 7.4, esto ya no es un problema. Apoyo para caching_sha2
Se ha agregado un método de autenticación a mysqlnd.
Actualmente, la extensión PHP mysqli no admite la nueva función de autenticación caching_sha2. Tienes que esperar hasta que publiquen una actualización.
Consulte la publicación relacionada de los desarrolladores de MySQL: https://mysqlserverteam.com/upgrading-to-mysql-8-0-default-authentication-plugin-considerations/
No mencionaron PDO, tal vez debería intentar conectarse con PDO.
ALTER USER 'mysqlUsername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mysqlUsernamePassword';
Eliminar comillas (‘) después ALTER USER
y mantenga la cita (‘) después de mysql_native_password BY
También me está funcionando.