插件窝 干货文章 Docker Desktop 部署 MySQL 后,Sequel Ace 无法连接怎么办?

Docker Desktop 部署 MySQL 后,Sequel Ace 无法连接怎么办?

MySQL Docker PASSWORD 端口 216    来源:    2025-03-30

Docker Desktop 部署 MySQL 后 Sequel Ace 连接问题解决方案

当你在 Docker Desktop 上部署 MySQL 后,如果 Sequel Ace 无法连接,可能是以下几个原因导致的。以下是详细的排查和解决方法:

常见原因及解决方案

1. 端口映射问题

确保 MySQL 容器正确映射了端口:

docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

验证端口映射:

docker port some-mysql

2. MySQL 用户权限问题

进入容器并检查用户权限:

docker exec -it some-mysql mysql -uroot -p

执行以下 SQL:

CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
FLUSH PRIVILEGES;

3. 绑定地址限制

检查 MySQL 配置文件是否绑定了 127.0.0.1:

docker exec -it some-mysql bash
cat /etc/mysql/my.cnf

确保有 bind-address = 0.0.0.0 或注释掉该行

4. 防火墙问题

检查 Docker Desktop 和主机防火墙是否允许 3306 端口通信

Sequel Ace 连接配置

在 Sequel Ace 中使用以下配置: - Host: 127.0.0.1 (如果 MySQL 运行在本地 Docker) - Username: 你创建的用户名 - Password: 对应的密码 - Port: 3306 (或你映射的其他端口) - Database: 可选,可以留空先测试连接

高级排查

  1. 检查容器日志:
docker logs some-mysql
  1. 测试从主机连接:
mysql -h 127.0.0.1 -P 3306 -u username -p
  1. 如果使用 Docker Compose,确保网络配置正确:
services:
  mysql:
    image: mysql:latest
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_USER: user
      MYSQL_PASSWORD: password
      MYSQL_DATABASE: dbname
    networks:
      - my-network

如果问题仍然存在,请提供具体的错误信息以便进一步诊断。