【问题标题】:How to connect to mysql created by docker-compose如何连接到 docker-compose 创建的 mysql
【发布时间】:2017-06-15 03:21:35
【问题描述】:

我无法连接到在本地环境 (Mac OS X) 中使用 Docker 创建的 Mysql。
我已经创建了以下配置文件。

version: '2'
services:
  db:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: mysqldatabase
      MYSQL_USER: mysql
      MYSQL_PASSWORD: mysql
      MYSQL_ROOT_PASSWORD: password
    ports:
      - "33333:3306"
    container_name: mysql-db
    volumes:
      - db-data:/var/lib/mysql

volumes:
  db-data:
    driver: local

然后,我用下面的命令启动了mysql的docker容器。

$ docker-compose up -d
$ docker start mysql-db

到目前为止没有问题,但是尝试连接mysql时出错。

$ mysql -p 33333 -u root -p
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

请告诉我如何处理它。

【问题讨论】:

  • 试试“mysql -h 0.0.0.0 -P 33333 -u root -p”。注意这里的端口是大写的P,密码是小写的。
  • @harshavmb 我能够连接!多么初级的错误!
  • 很高兴看到它对您有所帮助!
  • 旁注,Docker Compose 的最新版本是 3,您可能需要查看Compose File Documentation

标签: mysql docker docker-compose


【解决方案1】:

试试mysql -h 0.0.0.0 -P 33333 -u root -p

这里注意端口大写P,密码小写p。

希望这会有所帮助!

【讨论】:

    【解决方案2】:

    我想如果你从主机连接到容器。 mysql 会看到来自非本地主机的连接,所以断开它。您可以更改 mysql 配置以允许其他主机,或使用 docker exec -it mysql ... 从该容器内部连接

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 2022-11-03
      • 2019-12-15
      • 2021-06-16
      • 2019-08-28
      相关资源
      最近更新 更多