如何将 Sequel Pro(在 Mac 上)连接到 Docker 中的 MySQL

How to connect Sequel Pro (on a Mac) to a MySQL in a Docker

在我的新工作中,我得到了 Mac(Mac Mini M1 with Big Sur),而我使用了 Windows 和一些 Linux 我的全部生活。第一周了。

我有一个可用的 Docker 容器,其中包含 mysql-server 和 PhpMySql。

尽管如此,我想在本地使用 Sequel Pro 连接到 Mysql,但我完全失败了。 Screenshot of error: "Connection failed! Unable to connect to host 127.0.0.1, or the request timed out."

我已经安装了 mysql-client 和 Homebrew,我可以使用 docker 的 mysql 毫无问题地连接:

mysql -h 127.0.0.1 -u sail -p

我的.env文件如下:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel8vue
DB_USERNAME=sail
DB_PASSWORD=password

我的docker-compose.yml(版本3)与mysql相关如下:

mysql:
    image: 'mysql/mysql-server:8.0.26'
    ports:
        - '${FORWARD_DB_PORT:-3306}:3306'
    environment:
        MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        MYSQL_DATABASE: '${DB_DATABASE}'
        MYSQL_USER: '${DB_USERNAME}'
        MYSQL_PASSWORD: '${DB_PASSWORD}'
        MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
    volumes:
        - 'sailmysql:/var/lib/mysql'
    restart: unless-stopped
    networks:
        - sail
    healthcheck:
        test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
        retries: 3
        timeout: 5s

我的 Sequel Pro 使用带有 following settings (screenshot) 的标准选项卡:

主机:127.0.0.1 用户名:sail 密码:密码 数据库:laravel8vue 端口:3306

我怎么可以连接 mysql-client 但不能连接 Sequel Pro?我错过了什么?

感谢您的宝贵时间!

您必须向主机公开数据库端口。如果您的设备中已经 运行 mysql 服务器并尝试 运行 docker 中的 mysql 意味着您必须更改 [=18] 中的端口号=]-撰写。

port:
 - 3307:3306 

在Sequel亲,你的配置应该是这样的

UserName: user
Host: Your system IP / localhost / 
DBPassword: password
port: 3307 

我已经放弃 Sequel Pro。

Sequel Ace 是一个相同风格的开源替代品。

https://github.com/Sequel-Ace/Sequel-Ace

它在图形上是一样的,而且马上就可以使用了!