2

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

完成,检查:

  1. 这里建议的答案似乎也不正确 - 它不是一个有效的命令brew services start mongodb --auth --port 27017 --dbpath /usr/local/var/mongodb
4

0 回答 0