Sequel Pro在使用Docker Mysql容器时出现“连接失败!”错误。

7 浏览
0 Comments

Sequel Pro在使用Docker Mysql容器时出现“连接失败!”错误。

无法将我的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    

我在多个论坛上阅读了很多答案,但都没有帮助。最相关的是这个链接,但这似乎与Mac上的mysql有关,而不是docker容器。他谈到了编辑位于/ etc / my.cnf的my.cnf文件。对于Unix / Linux。

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

所以我不知道该怎么办。

我使用以下设置连接Sequel Pro:

主机:127.0.0.1
用户名:root
密码:root
数据库:(留空)
端口:3306

0
0 Comments

Sequel Pro在使用Docker Mysql容器时出现“连接失败!”的错误。

问题的原因是在docker-compose文件中,将主机的端口33071映射到Docker容器的端口3306。但是在上述提到的Sequel Pro设置中,你使用的是主机的端口3306,这是不正确的。

解决方法是使用与Docker容器映射的主机端口,即33071。(理想情况下,你应该将端口设置为3307进行端口映射)

为什么是端口3307呢?

并不是必须的,我只是提到它更容易记住。这是个人的选择。

为什么不是端口3306呢?

如果你使用Docker来运行MySQL,有可能用户已经在本地安装了MySQL服务器(它通常在本地的3306端口上)。为了区分,可以使用不同的端口。这取决于具体的使用情况。

如果有人使用Docker来运行MySQL,那么他们很有可能没有安装MySQL服务器,也无法或不想安装它。否则,为什么他们要在Docker容器中使用MySQL呢?

原因可能有两个:1. 在开发中需要不同的MySQL版本。2. 需要同时启动多个MySQL容器,因此需要不同的端口号。

以上是Sequel Pro在使用Docker Mysql容器时出现“连接失败!”错误的原因和解决方法。

0