J'utilise PHP 7.2.2 et MySQL 8.0.
Lorsque j'essaie de me connecter avec le bon identifiant, j'obtiens cette erreur:
PDOException::("PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]")
Besoin d'aide pour résoudre le problème.
image d'installation de MySql : Si vous voulez utiliser mysql> = 8 et que vous ne vous souciez pas de caching_sha2_password, sélectionnez simplement la deuxième option lors de l'installation.
J'ai trouvé ça quelque part, je ne me souviens plus où (ou je le créditerais), mais cela fonctionne jusqu'à ce que MySQL 8 s'améliore. Et PHP est prêt pour caching_sha2_password de MySQL.
Dans MySQL Shell (invite de commande, peu importe):
CREATE USER username@localhost identified with mysql_native_password by 'password';
Où nom d'utilisateur est le nom d'utilisateur et mot de passe est le mot de passe de cet utilisateur.
Vous pouvez ensuite ajouter des autorisations dans le shell - ou dans le plan de travail, car l'utilisateur existe maintenant avec le type d'authentification: standard.
alter user 'username'@'localhost' identified with mysql_native_password by 'password';
Comme suggéré par ailionx
ici: https://github.com/laradock/laradock/issues/139
Afin d'utiliser mySQL 8 (avec la nouvelle méthode d'authentification), vous pouvez simplement mettre à niveau votre PHP.
MySQL 8
Lorsque vous exécutez un PHP version antérieure à 7.1.16, ou PHP 7.2 avant 7.2.4, configurez le plug-in de mot de passe par défaut de MySQL 8 Server sur mysql_native_password ou sinon vous verrez erreurs similaires à La méthode d'authentification demandée par le serveur inconnue du client [mot de passe caching_sha2] même lorsque caching_sha2_password n'est pas utilisé.