如何在 Heroku 上为我的 mlab 配置数据库更改 MONGODB_URI?
How can I change my MONGODB_URI for my mlab provisioned DB on Heroku?
说我不小心泄露了秘密并为 mLab 在 Heroku 上提供的数据库创建了 MONGODB_URI
public -- 有没有办法 reset/regenerate/change 我的连接字符串?
例如,我的连接字符串如下所示:
mongodb://heroku_g20xzxs8:vc8k708rh1qqgr17luq7satqct@ds045622.mlab.com:41222/heroku_g20xzxs8
这里的关键是了解连接字符串是由什么组成的。在我使用单节点计划的情况下,我的连接字符串默认为这种格式
mongodb://dbuser:dbpass@host:port/dbname
其中包含一些为数据库生成的用户和密码。如果您通过 Heroku 应用程序的仪表板进入您的 mLab 管理门户或使用 Heroku CLI 打开它:
heroku addons:open mongolab
您可以进入“用户”选项卡并创建一个新用户。使用新的用户名和密码,您可以update your heroku config variable。
例如,在这种情况下,生成的用户名是 heroku_g20xzxs8
,密码是 vc8k708rh1qqgr17luq7satqct
。如果您创建一个新用户 new_db_user
和密码 th1$PasswordR0x
,您更新的连接字符串和您的 MONGODB_URI 配置变量的值将如下所示:
mongodb://new_db_user:th1$PasswordR0x@ds045622.mlab.com:41222/heroku_g20xzxs8
一旦您测试更新后的 MONGODB_URI
处于正常工作状态,请继续删除自动生成的用户 -- 是的,没有更多的漏洞!
首先立即通过 mongo CLI 设置新密码:
登录:
$ mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin
更改密码:
$ db.changeUserPassword("yourusername", "S0m3NeWPaSW0RdPxmt1oOfL")
之后,您可以通过db.removeUser(用户名)删除用户名并重新创建db.createUser()。最多 mongo 2.6 db.removeUser().
可以更新整个用户 db.updateUser() 。
要部署新字符串,请执行 heroku:
$ heroku config:set MONGODB_URI=mongodb://dbuser:dbpass@host1:port1,host2:port2/dbname
如果您不想使用 CLI/command 行方式,请完全删除用户并在 mLabs 上创建一个新用户 - 'Initial Home Screen' / 'MongoDB Deployments' / Users / 'Name-Readonly-X' .单击 'X' 删除并完成。添加新用户并在之后部署新字符串。
说我不小心泄露了秘密并为 mLab 在 Heroku 上提供的数据库创建了 MONGODB_URI
public -- 有没有办法 reset/regenerate/change 我的连接字符串?
例如,我的连接字符串如下所示:
mongodb://heroku_g20xzxs8:vc8k708rh1qqgr17luq7satqct@ds045622.mlab.com:41222/heroku_g20xzxs8
这里的关键是了解连接字符串是由什么组成的。在我使用单节点计划的情况下,我的连接字符串默认为这种格式
mongodb://dbuser:dbpass@host:port/dbname
其中包含一些为数据库生成的用户和密码。如果您通过 Heroku 应用程序的仪表板进入您的 mLab 管理门户或使用 Heroku CLI 打开它:
heroku addons:open mongolab
您可以进入“用户”选项卡并创建一个新用户。使用新的用户名和密码,您可以update your heroku config variable。
例如,在这种情况下,生成的用户名是 heroku_g20xzxs8
,密码是 vc8k708rh1qqgr17luq7satqct
。如果您创建一个新用户 new_db_user
和密码 th1$PasswordR0x
,您更新的连接字符串和您的 MONGODB_URI 配置变量的值将如下所示:
mongodb://new_db_user:th1$PasswordR0x@ds045622.mlab.com:41222/heroku_g20xzxs8
一旦您测试更新后的 MONGODB_URI
处于正常工作状态,请继续删除自动生成的用户 -- 是的,没有更多的漏洞!
首先立即通过 mongo CLI 设置新密码:
登录:
$ mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin
更改密码:
$ db.changeUserPassword("yourusername", "S0m3NeWPaSW0RdPxmt1oOfL")
之后,您可以通过db.removeUser(用户名)删除用户名并重新创建db.createUser()。最多 mongo 2.6 db.removeUser().
可以更新整个用户 db.updateUser() 。
要部署新字符串,请执行 heroku:
$ heroku config:set MONGODB_URI=mongodb://dbuser:dbpass@host1:port1,host2:port2/dbname
如果您不想使用 CLI/command 行方式,请完全删除用户并在 mLabs 上创建一个新用户 - 'Initial Home Screen' / 'MongoDB Deployments' / Users / 'Name-Readonly-X' .单击 'X' 删除并完成。添加新用户并在之后部署新字符串。