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

如何将Dokku MySQL连接至Sequel Ace/Pro等数据库GUI工具

Dokku 内部 MySQL 连接 Sequel Ace/Pro 实操方案

Dokku 官方 MySQL 插件部署的数据库默认仅绑定内部 Docker 网络,不直接暴露公网端口,按以下步骤操作即可完成连接,全程不需要修改数据库公网暴露规则,安全无风险。

第一步:获取准确的数据库连接凭证

因为你的 Laravel 应用已经正常关联运行,直接从应用环境变量读参数是最准的,不会搞错服务对应关系,在 Dokku 宿主机上执行以下命令即可拿到核心参数:

  • 查数据库用户名:dokku config:get <你的Laravel应用名> DB_USERNAME
  • 查数据库密码:dokku config:get <你的Laravel应用名> DB_PASSWORD
  • 查数据库名:dokku config:get <你的Laravel应用名> DB_DATABASE

如果要核对MySQL服务的底层信息,可以先执行dokku mysql:list确认你创建的MySQL服务名,再执行dokku mysql:info <你的MySQL服务名>查看服务的内部IP、运行状态等信息。

第二步:Sequel Ace/Pro 连接配置(推荐SSH隧道模式)

Sequel 系列数据库工具原生支持SSH隧道连接,不需要额外在服务器上开端口、改防火墙规则,是官方推荐的连接方式,配置分两块填写:

常规连接参数

  • 主机(Host):127.0.0.1
  • 端口(Port):3306
  • 用户名:第一步查到的DB_USERNAME值
  • 密码:第一步查到的DB_PASSWORD值
  • 数据库:第一步查到的DB_DATABASE值

SSH隧道参数

勾选「使用SSH隧道」选项后填写:

  • SSH主机:你的Dokku宿主机公网IP,SSH端口默认填22,如果你自定义过服务器SSH端口就填实际端口
  • SSH用户:dokku(Dokku默认的管理用户,具备Docker网络访问权限,不要填root)
  • SSH认证:填你平时登录Dokku服务器、执行dokku命令用的SSH私钥即可,和你日常部署用的SSH凭证一致

填完直接点连接就能正常访问。

不推荐把MySQL容器的3306端口直接映射到公网,会面临持续的暴力破解风险,存在拖库隐患。

如果遇到工具自带SSH隧道兼容问题,可以手动在本地终端执行端口转发命令:
ssh -fNL 3306:<MySQL服务内部IP>:3306 dokku@<你的Dokku宿主机公网IP>
命令里的MySQL服务内部IP从dokku mysql:info的输出结果里取,执行成功后本地3306端口会直接映射到Dokku内部的MySQL服务,此时GUI工具不需要配置SSH参数,直接连127.0.0.1:3306即可。

常见问题排查

  • 直连宿主机IP超时:属于正常情况,因为Dokku的MySQL默认不监听公网网卡,必须走隧道
  • 连接报权限错误:核对你取的用户名、密码、库名是否和Laravel应用环境变量完全一致,不要默认用root账号连接,Dokku MySQL插件默认不会创建对外可访问的root账号
  • SSH连接失败:检查dokku用户是否在你服务器的SSH允许登录列表里,本地私钥是否对应服务器上的authorized_keys配置

内容的提问来源于stack exchange,提问作者Cornelius van Erkelens

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 13:48:19