如何连接到由 docker-compose 创建的 mysql

xKx*_*xKx 2 mysql docker docker-compose

我无法连接到在本地环境 (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
Run Code Online (Sandbox Code Playgroud)

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

$ docker-compose up -d
$ docker start mysql-db
Run Code Online (Sandbox Code Playgroud)

到此为止没有问题,但是尝试连接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)
Run Code Online (Sandbox Code Playgroud)

请告诉我如何处理。

har*_*vmb 5

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

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

希望这可以帮助!