![](/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.