问题
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.
来源:https://stackoverflow.com/questions/53418062/mysql-8-0-requested-authentication-method-unknown-to-the-client-caching-sha2-pa