根据网上说法:发生这种错误,是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。
网上也给给出了各种解决方法,个人仅仅选择其中一种方法来解决。如下:

本文针对MySQL8默认使用caching_sha2_password密码验证插件导致的与旧版PHP不兼容问题,提供了一种有效的解决方案。该问题源于PHP版本中mysqlnd组件无法支持新的密码验证方式。
根据网上说法:发生这种错误,是由于MySQL 8默认使用了新的密码验证插件:caching_sha2_password,而之前的PHP版本中所带的mysqlnd无法支持这种验证。
网上也给给出了各种解决方法,个人仅仅选择其中一种方法来解决。如下:

2115
1918
892
3493