You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

新手求助:如何远程连接Docker容器中的MySQL数据库?

跨电脑连接Docker中MySQL容器的分步指南

一、修正容器端口映射(核心前提)

你之前没做端口映射的话,外部电脑根本无法访问容器内的MySQL服务:

  • 若容器未创建,直接带端口映射参数启动:
    docker run -d --name mysql-container -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你的密码 mysql:latest
    
    说明:-p 3306:3306 是把宿主机的3306端口映射到容器内的3306端口,外部电脑通过宿主机IP+3306即可访问。
  • 若容器已运行,先备份数据(如果有),再重建带端口映射的容器:
    docker stop mysql-container
    docker rm mysql-container
    # 加-v参数挂载本地目录保存数据,避免重建丢失
    docker run -d --name mysql-container -p 3306:3306 -v /本地路径/mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=你的密码 mysql:latest
    

二、确保MySQL账号支持远程连接

你创建的账号可能仅允许本地访问,需修改权限:

  1. 进入容器内的MySQL命令行:
    docker exec -it mysql-container mysql -uroot -p
    
    输入密码后进入MySQL控制台。
  2. 查看账号访问限制:
    SELECT user, host FROM mysql.user;
    
    若目标账号的host是localhost或127.0.0.1,仅能本地访问,需修改。
  3. 修改账号允许远程访问(可选指定特定IP,更安全):
    -- 允许所有IP访问账号your_user
    ALTER USER 'your_user'@'%' IDENTIFIED BY 'your_password';
    -- 仅允许192.168.1.100这个IP访问
    ALTER USER 'your_user'@'192.168.1.100' IDENTIFIED BY 'your_password';
    
  4. 刷新权限生效:
    FLUSH PRIVILEGES;
    
    输入exit;退出MySQL控制台。

三、开放宿主机防火墙端口

宿主机防火墙可能拦截3306端口,需手动开放:

  • Windows(PowerShell管理员模式):
    New-NetFirewallRule -DisplayName "Allow MySQL 3306" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow
    
  • Linux:
    sudo ufw allow 3306/tcp
    sudo ufw reload
    

四、Workbench远程连接操作步骤

  1. 打开Workbench,点击「+」新建连接。
  2. 填写连接参数:
    • Connection Name:自定义名称(如Docker-MySQL)
    • Hostname:填宿主机的IP地址(不是容器IP!容器IP仅宿主机内部可用)
    • Port:3306(和映射端口一致)
    • Username:你创建的有权限的账号(如root或自定义账号)
    • Password:点击「Store in Vault...」输入对应密码
  3. 点击「Test Connection」测试,成功后点击「OK」保存连接,即可正常操作。

常见排查点

  • 先在目标电脑ping宿主机IP,不通则检查两台电脑是否在同一局域网,或宿主机网络设置。
  • 检查容器状态:docker ps,确认mysql-container状态为Up。
  • 查看容器日志排查MySQL报错:docker logs mysql-container

内容的提问来源于stack exchange,提问作者jiopla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 14:45:27