首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Heroku上更改mlab配置的DB的MONGODB_URI?

如何在Heroku上更改mlab配置的DB的MONGODB_URI?
EN

Stack Overflow用户
提问于 2016-06-18 18:25:59
回答 2查看 4.1K关注 0票数 1

比方说,我不小心泄露了这只猫,并让我的MONGODB_URI公开了一个由mLab在Heroku上提供的数据库--有办法重置/重新生成/更改我的连接字符串吗?

例如,我的连接字符串如下所示:mongodb://heroku_g20xzxs8:vc8k708rh1qqgr17luq7satqct@ds045622.mlab.com:41222/heroku_g20xzxs8

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-22 04:08:06

首先,通过mongo立即设置新密码:

登录:

代码语言:javascript
复制
$ mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin

更改密码:

代码语言:javascript
复制
$ db.changeUserPassword("yourusername", "S0m3NeWPaSW0RdPxmt1oOfL")

之后,您可以使用db.removeUser(username)来删除用户名,并重新创建它db.createUser().。蒙戈2.6 db.removeUser()

可以更新整个用户的db.updateUser()

要部署新的字符串,请执行heroku:

代码语言:javascript
复制
 $ heroku config:set MONGODB_URI=mongodb://dbuser:dbpass@host1:port1,host2:port2/dbname

如果您不想使用CLI/命令行的方式,请完全删除用户,并在mLabs上创建一个新的用户-“初始主屏幕”/“MongoDB部署”/用户/‘名称-Readonly-X’。单击“X”删除并完成。添加新用户,然后部署新字符串。

票数 5
EN

Stack Overflow用户

发布于 2016-06-18 18:25:59

这里的关键是了解连接字符串是由什么组成的。在使用单节点计划的情况下,连接字符串默认为此格式。

mongodb://dbuser:dbpass@host:port/dbname

其中包含一些生成的数据库用户和密码。如果您通过Heroku应用程序的仪表板进入您的mLab管理门户,或者使用Heroku打开它:

heroku addons:open mongolab

您可以进入“用户”选项卡并创建一个新用户。使用新的用户名和密码,您可以使用更新您的heroku配置变量

例如,在本例中,生成的用户名为heroku_g20xzxs8,密码为vc8k708rh1qqgr17luq7satqct。如果您创建了一个新的用户new_db_userth1$PasswordR0x密码,则更新的连接字符串和MONGODB_URI配置变量的值如下所示:

mongodb://new_db_user:th1$PasswordR0x@ds045622.mlab.com:41222/heroku_g20xzxs8

一旦您测试了更新后的MONGODB_URI是否正常工作,请继续删除自动生成的用户--耶,不再有漏洞了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37900283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档