mysql - Sequel Pro 使用 Docker Mysql 容器出现 'Connection failed!' 错误

标签 mysql docker sequelpro

我无法将我的 Sequel Pro 连接到我的 docker mysql 容器。我不断收到以下错误消息:

enter image description here

我有一个 docker-compose.yml ;

db:
        image: mysql:5.7
        ports: 
            - "33071:3306"
        command: --default-authentication-plugin=mysql_native_password
        environment:
          - MYSQL_ROOT_PASSWORD=root
          - MYSQL_DATABASE=default
        volumes:
            - ./dump:/docker-entrypoint-initdb.d
            - ./db/mysqlconf:/etc/mysql/conf.d
            - ./mysqldata:/var/lib/mysql
        
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
      - "8677:80"
    links:
      - db    

我已经阅读了多个论坛的答案,但没有一个有帮助。最相关的是this link但这似乎与 mac 上的 mysql 有关,而不是与 docker 容器有关。他谈到编辑位于/etc/my.cnf 中的 my.cnf 文件。在 Unix/Linux 上。

但是我的 docker 容器没有 my.cnf 文件。

所以我不知道该怎么办。 我对 Sequel Pro 连接使用了以下设置:

Host:     127.0.0.1
Username: root  
Password: root 
Database: (left it blank)
Port:     3306

最佳答案

您正在将主机的端口 33071 映射到 docker-compose 文件中 docker 容器的端口 3306

ports: 
    - "33071:3306"

但是在上面提到的 Sequel Pro 设置中,您正在使用主机的端口 3306。这是不正确的。

解决方案:

Use the host port that is mapped with docker container i.e 33071

(Ideally you should have kept the port as 3307 in port mapping).

关于mysql - Sequel Pro 使用 Docker Mysql 容器出现 'Connection failed!' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60041772/

相关文章:

python - Django 中菜单和子菜单的递归函数,直到最后一个子菜单出现

java - Docker Kafka容器Consumer不消费数据

docker - 在 docker-compose 如何创建到 localhost 的别名/链接?

mysql - 如何计算连字符之前的结果总数?

mysql - 将旧版 MySQL 数据库 (5.6.10) 导入 5.6.12 会产生错误

mysql - 参数 2 中的 JSON 文本无效 - 使用 Spring JPA 的 json_contains

php - 如果数组与 mysql 中的数组匹配

mysql - 用于从连接到类别表的项目表中进行选择的 SQL 查询

docker - 使用 "publish"时,有办法从容器访问 "fig run"端口吗?

mysql - 将另一个表导入数据库并添加字段