Sequel Pro在使用Docker Mysql容器时出现“连接失败!”错误。
Sequel Pro在使用Docker Mysql容器时出现“连接失败!”错误。
无法将我的Sequel Pro连接到我的docker mysql容器。我一直收到以下错误消息:
我有一个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
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容器时出现“连接失败!”错误的原因和解决方法。