我使用docker-compose运行一个docker堆栈。 docker-compose.yml看起来如下所示。问题是如果我添加默认用户root然后它工作正常但将用户更改为另一个用户说 tara 会引发错误。
我再说一遍: 适用于用户:root
注意我在3个节点上使用单个副本运行它。因此,该服务可能正在任何节点中运行。
"SQLSTATE[HY000] [1130] Host '10.0.10.6' is not allowed to connect to this MySQL server (SQL: select count(*) as aggregate from `users` where `email` = ramesh@gm ▶"
这是docker-compose.yml
版本:' 3.3'
网络: smstake: IPAM: 配置: - 子网:10.0.10.0/24
服务:
db:
image: mysql:5.7
networks:
- smstake
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: smstake
MYSQL_USER: tara
MYSQL_PASSWORD: password
deploy:
mode: replicated
replicas: 1
app:
image: smstake:latest
ports:
- 8000:80
networks:
- smstake
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager
phpmyadmin:
image: phpmyadmin/phpmyadmin
networks:
- smstake
environment:
PMA_HOST: db
PMA_PORT: 3306
MYSQL_USER: tara
MYSQL_PASSWORD: password
ports:
- '8082:80'
deploy:
mode: replicated
replicas: 1
卷: DB_DATA:
所有3项服务仅运行连接问题。
人们建议运行grant命令,但我可以在哪里以及如何运行 让那些命令运行?
答案 0 :(得分:0)
显示正在运行的进程
docker ps
连接到mysql运行容器
docker exec -it MYSQL-CONTAINER-NAME /bin/bash
进入容器后,连接到数据库并创建用户等等。