如何从Heroku上的Node应用远程访问MySQL数据库
SiteGround MySQL远程访问HostName配置指南
正确HostName获取方式
你无法用站点内部的localhost作为外部访问的主机地址,需要按以下步骤获取专属远程Host:
- 登录SiteGround站点管理后台,进入对应WordPress站点的管理面板,找到「数据库」分类下的「MySQL」管理入口
- 切换到「远程」标签页,页面会直接展示官方分配的远程MySQL主机地址,格式通常为
[随机串].mysql.siteground.[区域后缀],直接复制该值作为你的HostName参数即可 - 主机地址以后台显示的实际值为准,不要自行拼接域名或者用默认
localhost、站点域名代替
配套配置要求(完成后才能正常连接)
- 同样在MySQL「远程」标签页,将你Heroku服务的出口IP添加到远程访问白名单中。如果Heroku没有配置固定IP,你可以先添加本地测试环境的IP,先用数据库工具验证连接可用性后再处理Heroku的IP问题
- 数据库用户名、密码、库名可以在MySQL管理页的「数据库」标签页获取,注意使用专门分配给数据库的账号密码,不要使用SiteGround的后台登录凭据
- Node/Express服务中的数据库连接配置默认使用端口
3306,无需额外修改 - 敏感凭据建议存储在Heroku的Config Vars环境变量中,不要硬编码到项目代码里避免泄露
常见连接问题排查
- 确认远程Host地址拼写完全正确,没有多余字符
- 确认当前访问数据库的出口IP已经添加到SiteGround的远程访问白名单中
- 确认使用的数据库账号有对应目标库的读写权限
注:部分SiteGround入门级托管套餐可能不开放远程MySQL访问权限,若后台没有「远程」标签页可先咨询客服确认套餐权益
内容的提问来源于stack exchange,提问作者Muhammad Ali Rashed
相关产品推荐
相关产品推荐

