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

如何从远程机器连接到Docker部署的MySQL容器

如何直接从IP1连接IP2上的MySQL Docker容器

没问题,你完全不需要在IP2的Ubuntu宿主机上安装任何MySQL相关包(不管是mysql-server还是mysql-client),就能直接从IP1连接到IP2上运行的MySQL容器。下面是你需要确认和配置的几个关键点:


1. 配置容器内的MySQL监听所有地址

你猜的没错,必须让容器里的MySQL服务监听所有网络地址,才能接收来自宿主机外的连接。有两种简单的配置方式:

方式一:启动容器时通过命令行参数指定

如果是用systemd管理容器,修改你的systemd服务文件,在docker run命令末尾加上--bind-address=0.0.0.0参数,示例如下:

docker run -d --name mysql-container -p 3306:3306 -v ~/mysqldatabase:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your-secure-password mysql:latest --bind-address=0.0.0.0

方式二:挂载自定义配置文件到容器

如果你偏好使用配置文件管理参数,可以在IP2宿主机创建一个自定义配置文件(比如~/mysql-config/mysqld.cnf),内容添加:

[mysqld]
bind-address = 0.0.0.0

然后修改systemd的启动命令,把这个配置文件挂载到容器的MySQL配置目录(不同镜像路径可能略有差异,比如官方MySQL镜像的配置路径是/etc/mysql/mysql.conf.d/mysqld.cnf):

docker run -d --name mysql-container -p 3306:3306 -v ~/mysqldatabase:/var/lib/mysql -v ~/mysql-config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=your-secure-password mysql:latest

修改完systemd服务文件后,记得重新加载配置并重启服务:

sudo systemctl daemon-reload
sudo systemctl restart your-mysql-container-service-name

2. 确认端口映射与防火墙状态正常

从你提供的netstat输出来看:

sudo netstat -tunlp | grep 3306
tcp6       0      0 :::3306                 :::*                    LISTEN      24717/docker-proxy

这说明docker-proxy已经在监听宿主机的3306端口(:::3306表示同时监听IPv4和IPv6的所有地址),并且会把流量转发到容器内部的3306端口,端口映射和防火墙规则都是正常的,这部分不需要额外调整。


3. 授权MySQL用户允许远程连接

光配置监听地址还不够,你需要确保MySQL中的用户(比如root)允许从IP1或者任意地址连接。通过SSH登录IP2,进入容器内部执行SQL命令:

docker exec -it mysql-container mysql -u root -p

输入密码后,执行授权语句(这里以允许root从任意地址连接为例,记得替换成你的实际密码):

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your-secure-password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

如果只想限制IP1连接,把语句中的'%'替换成IP1的具体IP地址即可。


4. 从IP1测试连接

在IP1的机器上,安装mysql-client(比如Ubuntu系统执行sudo apt install mysql-client),然后执行连接命令:

mysql -h IP2 -P 3306 -u root -p

输入密码后如果能成功进入MySQL命令行,就说明远程连接已经配置完成了。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:03:02