我正在使用 docker-compose 运行一个 docker 堆栈。 docker-compose.yml 如下所示。问题是如果我添加默认用户 root 那么它工作正常但将用户更改为另一个用户说 塔拉 抛出错误。
我再说一遍:
适用于用户: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'
网络:
赌注:
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
卷:
数据库数据:
所有 3 个服务都在运行,只是连接有问题。
People are suggesting to run grant commands but where and how can I make those commands run ?
最佳答案
显示运行过程
docker ps
连接到mysql运行容器
docker exec -it MYSQL-CONTAINER-NAME /bin/bash
一旦进入容器,连接到数据库并创建用户等等。
关于docker - 在有连接问题的 docker-compose 中,在 root 旁边创建新用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48919649/