这通常归因于您的mysql数据库正在使用的身份验证插件。默认情况下,由于某种原因,mysql 8的默认插件是auth_socket。应用程序通常会期望使用密码登录到数据库。如果尚未更改mysql默认身份验证插件,则可以通过以下方法进行更改:1.以root用户身份登录mysql2.运行以下sql命令:ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_passwordBY 'password'; 用您的根密码替换“密码”。如果您的应用程序没有以root用户身份登录到数据库,请用应用程序使用的用户替换上述命令中的'root'用户。数字海洋在这里阐述了更多有关此内容安装Mysql
我已经尝试了很多方法,但是只有这对我有用感谢您的解决方法检查您的**。envMYSQL_VERSION=latest然后输入此命令$ docker-compose exec mysql bash$ mysql -u root -p (以root用户身份登录)ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';然后去phpmyadmin并登录为:主机 -> MySQL的用户 ->根密码 -> root希望对你有帮助