Environnement
J'essaie de me connecter à la base de données MySQL. Quand je
php bin/console doctrine:database:create
, J'ai ceci:
Une exception s'est produite dans le pilote: SQLSTATE [HY000] [2054] La méthode d'authentification demandée par le serveur était inconnue du client.
PDO :: _ construct (): La méthode d'authentification demandée par le serveur est inconnue du client [motdepasse_saching_sha2]
Vous pouvez vérifier Mise à niveau vers MySQL 8.0: Considérations relatives au plug-in d'authentification par défaut pour obtenir des informations sur les remarques importantes relatives à la mise à niveau vers la version 8.0, dans lesquelles vous trouverez:
Au moment de la rédaction de cet article, les connecteurs suivants ne prennent pas en charge cachpass_sha2_password.
- PHP connecteur mysqli
- GO mysql connecteur
- Connecteur Perl DBD-mysql
Si vous voulez en savoir plus, vous pouvez vérifier caching_sha2_password en tant que plug-in d'authentification préféré sur la documentation officielle de MySQL.
Donc, je pense que cela va bientôt passer à MySQL 8.0 et vous pouvez envisager de rétrograder ou d'attendre quelque temps pour que l'extension php mysql soit également mise à jour.
Je pense que vous utilisez MySQL 8, la méthode d’authentification par défaut a changé. Vous devrez peut-être modifier quelque chose dans la configuration de votre serveur.
Regardez ce lien: https://github.com/laradock/laradock/issues/1392#issuecomment-368308494
Une autre chose que vous pouvez faire est de déclasser votre version de MySQL.