【发布时间】:2020-08-27 09:59:54
【问题描述】:
我的问题有点奇怪。
当我启动容器时,任何数据库管理器都无法连接到我的数据库。 我明白了
mysql | 2020-05-11T15:48:56.348312Z 8 [Warning] [MY-010055] [Server] IP address '172.21.0.1' could not be resolved: Name or service not known
但是当我使用上面的命令通过终端执行我的迁移后,我可以通过任何数据库管理器正常访问我的数据库。
$ docker-compose exec php-fpm php artisan migrate
我的 docker-compose.yml
#MySQL Service
mysql:
image: mysql:8
container_name: mysql
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: database
MYSQL_ROOT_PASSWORD: root
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- ./mysql/dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
networks:
- app-network
还有我的“my.cnf”
[mysqld]
general_log = 1
general_log_file = /var/lib/mysql/general.log
secure-file-priv= NULL
#Accept connections from any IP address
bind-address = 0.0.0.0
【问题讨论】:
-
嗨。您运行了什么命令导致上面的日志?您尝试如何(以及从何处)连接到 MySQL?
-
嗨。我执行“docker-compose up”,所以当我把所有容器都装好时,终端仍然可以显示日志。当我尝试从我的数据库管理器访问时,控制台显示此错误并且我的数据库管理器说 root@172.xx.x 是不允许的。
-
你想从哪里访问?来自主机或其他容器?
-
来自主机。正如我在另一个容器中所说的 php-laravel 它可以工作。将它与 php-laravel 一起使用后,我可以从任何主机访问。但第一次我把所有的容器都装起来了,我做不到。我尝试使用 Dberaver 和 Heidsql,但都遇到了同样的错误