3 回答
TA贡献1845条经验 获得超8个赞
这通常归因于您的mysql数据库正在使用的身份验证插件。
默认情况下,由于某种原因,mysql 8的默认插件是auth_socket。应用程序通常会期望使用密码登录到数据库。
如果尚未更改mysql默认身份验证插件,则可以通过以下方法进行更改:
1.以root用户身份登录mysql
2.运行以下sql命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password
BY 'password';
用您的根密码替换“密码”。如果您的应用程序没有以root用户身份登录到数据库,请用应用程序使用的用户替换上述命令中的'root'用户。
数字海洋在这里阐述了更多有关此内容安装Mysql
TA贡献1805条经验 获得超10个赞
您必须更改MySQL设置。编辑my.cnf文件,并将此设置放在mysqld部分:
[mysqld]
default_authentication_plugin= mysql_native_password
然后运行以下命令:
FLUSH PRIVILEGES;
上面的命令将使默认身份验证机制的更改生效。
TA贡献2080条经验 获得超4个赞
我已经尝试了很多方法,但是只有这对我有用
感谢您的解决方法
检查您的**。env
MYSQL_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
希望对你有帮助
添加回答
举报