Heroku环境下如何将MySQL数据库从app_1迁移至app_2
嘿,这个需求我之前刚好处理过,完全不用走导出再导入SQL文件的弯路——Heroku本身就支持通过CLI命令直接把JawsDB附加组件从一个应用转移到另一个,整个过程能完美保留原数据库的主机、用户名、密码甚至数据库名,只需要1-2条核心命令就能搞定,具体步骤如下:
直接转移JawsDB到app_2的操作指南
前提准备
确保你已经安装了Heroku CLI,并且通过heroku login命令完成了账户登录。
步骤1:转移JawsDB附加组件
在终端执行这条命令,将app_1上的JawsDB实例直接转移到app_2:
heroku addons:transfer jawsdb-mysql -a app_1 --recipient app_2
这条命令会自动把app_1关联的JawsDB实例解绑,重新绑定到app_2上,所有数据库的配置信息(主机地址、用户名、密码、数据库名称)都会原封不动保留,不需要任何额外修改。
步骤2:验证转移结果
执行命令查看app_2的环境变量,确认新的JAWSDB_URL和原app_1的完全一致:
heroku config -a app_2
输出里的JAWSDB_URL字段应该和你之前在app_1里看到的完全相同,这就说明转移成功了。
步骤3:安全删除app_1
确认app_2已经能正常连接到该数据库后,就可以放心删除app_1了:
heroku apps:destroy app_1 --confirm app_1
小提醒:删除前最好再测试一下app_2的数据库连接,或者用
mysqldump手动备份一次数据库,以防万一出现意外情况。
额外注意事项
- 如果app_2已经安装了JawsDB,需要先执行
heroku addons:destroy jawsdb-mysql -a app_2移除原有实例,再执行转移命令,否则会出现附加组件冲突。 - 转移操作需要你同时拥有两个应用的管理员权限,否则命令会执行失败。
内容的提问来源于stack exchange,提问作者Outcast
相关产品推荐
相关产品推荐

