我有一点问题,我似乎无法连接到在docker容器内运行的mysql服务器社区版。
我可以使用cli轻松连接到mysql服务器:
docker exec -it mysqlserver mysql -uroot -p
但是,如果我尝试连接任何其他数据库连接器,如DataGrip或MySql Workbench,我会拒绝访问。
但我在配置文件中没有改变任何内容。我使用容器公开的默认3306端口将ip设置为localhost。用户名我保留为root,密码完全相同但仍然失败。
我错过了什么,不理解任何事情吗?
非常感谢一些帮助!
额外信息:我正在使用MacOS,使用Docker for Mac运行容器,此时我正在使用最新的MySql数据库版本。
答案 0 :(得分:1)
您的容器不包含其他连接器,尝试在使用docker run --name mysql -p 127.0.0.1:3306:3306 ....
运行容器链接端口时发布端口。您可以使用本地cli将您连接到容器。试试这个doc
答案 1 :(得分:1)
下面是我用来启动MariaDB实例来测试某些查询的docker-compose.yml
。 MariaDB与MySQL兼容API,因此没有区别。
version: "2"
services:
db:
image: bitnami/mariadb:latest
volumes:
- ./mariadb/data:/bitnami
ports:
- "9001:3306"
environment:
MARIADB_ROOT_PASSWORD: ChangeMeIfYouWant
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
ports:
- "9010:80"
links:
- db:db
下载图像并通过docker-compose up
创建和启动容器。之后,我可以使用JetBrains DataGrip轻松连接到它。
主持人:localhost
港口:9001
用户:root
密码:ChangeMeIfYouWant