Dbeaver 无法连接部署在 Docker 内的 Azure MySQL 数据库问题
排查修复步骤
1. 检查Azure网络安全组(NSG)规则
- 确认MySQL容器部署的Azure资源(虚拟机/容器实例/容器应用)对应的NSG入站规则已开放MySQL使用的端口(默认3306),源地址需包含你运行Dbeaver的客户端公网IP,不要仅配置为本地或Digital Ocean段IP。
- 若使用Azure Kubernetes服务部署,额外检查Service、Ingress的端口映射规则与网络策略是否放通了MySQL端口的外部访问。
2. 检查Docker配置与MySQL内部设置
- 登录到Azure侧部署Docker的宿主机,执行
docker ps查看MySQL容器的端口映射规则,需为0.0.0.0:3306->3306/tcp格式,若仅绑定127.0.0.1:3306则仅支持宿主机本地访问,外部无法连通,需修改容器启动命令的端口映射参数。 - 进入MySQL容器查看配置文件
my.cnf,确认bind-address参数未设置为127.0.0.1,可修改为0.0.0.0或直接注释该配置项,修改后重启容器生效。 - 登录MySQL执行以下命令确认账号权限,确保连接使用的账号允许对应客户端IP访问:
grant all privileges on *.* to '你的连接账号'@'%' identified by '你的账号密码'; flush privileges;
其中%代表允许所有IP访问,生产环境建议替换为你的Dbeaver客户端公网IP提升安全性。
3. 检查Azure侧其他防火墙规则
- 若MySQL部署在Azure虚拟机上,需确认虚拟机内部操作系统防火墙(ufw/firewalld等)已开放3306端口入站。
- 若搭配Azure Database for MySQL托管服务使用,需确认托管服务的白名单规则已添加你的客户端IP。
对应报错截图:
内容的提问来源于stack exchange,提问作者Romullo Leal
相关产品推荐
相关产品推荐

