![](/img/trans.png)
[英]ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[英]mysql-docker-container - ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我正在使用以下 docker-compose 文件创建 mysql docker 容器。 服务已成功创建,但是当我尝试进入容器内部时出现以下错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
docker container exec -it 966 /bin/bash
root@96607883960b:/# mysql -uroot -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
root@96607883960b:/#
version: '3.3'
services:
db:
image: mysql:5.7.29
container_name: mysql
deploy:
replicas: 1
restart_policy:
condition: on-failure
environment:
- MYSQL_USER="testpass"
- MYSQL_PASSWORD="testpass"
- MYSQL_ROOT_PASSWORD="testpass"
ports:
- 33060:3306
volumes:
- /Users/hello/Work/Volumes/wavolumes/mysql:/var/lib/mysql
我发现很多文章都没有帮助解决这个问题
有人能解决这个问题吗?
您的连接确实有效,您可以验证它是否运行以下内容(服务应该已经在运行:):
docker-compose exec db sh -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD}'
问题是您使用了错误的密码。
您可以通过运行docker-compose config
轻松查看您的问题。 您将在 output 中看到双引号包含在值中。
此版本应该可以解决您的问题:
version: '3.3'
services:
db:
image: mysql:5.7.29
container_name: mysql
deploy:
replicas: 1
restart_policy:
condition: on-failure
environment:
- MYSQL_USER=testpass
- MYSQL_PASSWORD=testpass
- MYSQL_ROOT_PASSWORD=testpass
ports:
- 33060:3306
volumes:
- /Users/hello/Work/Volumes/wavolumes/mysql:/var/lib/mysql
偶然发现了同样的错误并尝试了接受的解决方案,以及仅使用 Dockerfile、尝试“MYSQL_ALLOW_EMPTY_PASSWORD”、“MYSQL_RANDOM_ROOT_PASSWORD”和不同的 mysql 图像标签(5.6、5.7 和最新)。 根信用也不起作用。 我显然做错了什么。
我的作曲看起来像这样:
version: '3.3'
services:
db:
image: mysql:5.7
restart: always
environment:
MYSQL_USER: usr
MYSQL_PASSWORD: pass
MYSQL_ROOT_PASSWORD: root
ports:
- "3306:3306"
volumes:
- d:/vm/docker-volumes/mysql:/var/lib/mysql
我通过docker-compose -f "docker-compose.yml" up -d --build
命令构建它,然后尝试通过执行docker exec -it docker_db_1 bash -c 'mysql --protocol=tcp -u usr -p${MYSQL_PASSWORD}'
来连接它docker exec -it docker_db_1 bash -c 'mysql --protocol=tcp -u usr -p${MYSQL_PASSWORD}'
和其他变体。 总是得到ERROR 1045 (28000): Access denid for user...
除了接受的答案中建议的步骤之外,您是否介意澄清一下您是否做了其他事情来使其工作?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.