MySQL 8.0 Requested authentication method unknown

2020-04-07 23:13发布

问题:

Environment

  • Microsoft Windows 10.0.16299.15
  • PHP 7.2.11
  • MySQL Community Server 8.0.13
  • Symfony 4

I try to connect to MySQL database. When I

php bin/console doctrine:database:create

, I have this:

An exception occurred in driver: SQLSTATE[HY000][2054] The server requested authentication method unknown to the client

PDO::_construct(): The server requested authentication method unknown to the client [caching_sha2_password]

回答1:

You may check Upgrading to MySQL 8.0 : Default Authentication Plugin Considerations to get information about important notes on upgrading to 8.0 where you will find:

At the time of writing this post, following connectors do not have support for caching_sha2_password.

  • PHP mysqli connector
  • GO mysql connector
  • PERL DBD-mysql connector

If you want to know more, you may check caching_sha2_password as the Preferred Authentication Plugin on MySQL official documentation.

So, I think that's soon to upgrade to MySQL 8.0 and you may consider downgrade or wait some time for php mysql extension to be upgraded as well.



回答2:

I think you are using MySQL 8, the default method of authentication has changed, maybe you will need to change something in your server configuration.

Look this link: https://github.com/laradock/laradock/issues/1392#issuecomment-368308494

Another thing you can do is downgrade your MySQL version.