我为symfony4项目使用dockerweb堆栈。mysql配置为:
mysql:
image: mysql
container_name: sf4_mysql
volumes:
- .docker/data/db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE:***
MYSQL_USER:***
MYSQL_PASSWORD:***
从DockerHub中提取的图像是MySQL8,当我尝试使用 doctrine:database:create
我收到这条信息:
2018-09-17t11:53:51+00:00[error]运行命令时引发错误“doctrine:database:创建”。消息:“驱动程序中发生异常:sqlstate[hy000][2054]服务器请求了客户端未知的身份验证方法”
在abstractmysqldriver.php第126行中:
驱动程序中发生异常:sqlstate[hy000][2054]服务器请求的身份验证方法客户端未知
在pdoconnection.php第50行中:
sqlstate[hy000][2054]服务器请求的身份验证方法客户端未知
在pdoconnection.php第46行中:
sqlstate[hy000][2054]服务器请求的身份验证方法客户端未知
在pdoconnection.php第46行中:
pdo::uu construct():服务器请求的身份验证方法客户端未知[缓存\u sha2\u密码]
2条答案
按热度按时间6ioyuze21#
MySQL8.0使用“可插入身份验证”——您可以通过以下步骤来解决这个问题。
打开my.cnf并添加以下条目(然后重新启动mysql)
[我的qld]
默认\u身份验证\u插件=mysql\u本机\u密码
使用正确的8.0语法创建一个用户(mysql\u用户名)来生成密码(见下文)
用mysql\u本地\u密码标识
冲洗皮维列格,然后再试一次。这应该能奏效。
pbgvytdp2#
只需更新docker compose文件,如下所示并重建图像。