MongoDB v3.6.4:从 mongo 3.4 迁移到 3.6 之后
从外壳我可以启动数据库并通过身份验证连接到它。
mongod --auth --port 27017 --dbpath /data/db
但是,当我使用 brew 启动 mongodb 时,身份验证不起作用,也无法手动进行身份验证。
~ $ mongo
MongoDB shell version v3.6.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.4
> use admin
switched to db admin
> db.stats()
{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { dbstats: 1.0, scale: undefined, $db: \"admin\" }",
"code" : 13,
"codeName" : "Unauthorized"
}
> db.auth('superAdmin', 'password')
Error: Authentication failed.
0
如何使用身份验证将 mongodb 作为服务运行?
可以通过在 /usr/local/etc/mongod.conf 文件中将授权设置为禁用来选择退出身份验证,但是使用所需的权限运行服务会很好:
security:
authorization: disabled
完成,检查:
- 这里建议的答案似乎也不正确 - 它不是一个有效的命令
brew services start mongodb --auth --port 27017 --dbpath /usr/local/var/mongodb