Mac上安装MongoDB后没有默认用户或密码,需要创建用户
默认情况下,MongoDB没有启用访问控制,因此没有默认用户或密码。
要启用访问控制,请使用命令行选项·--auth
或security.authorization配置文件设置。
具体细节请查看官方文档的启用验证章节
以下使我在Mac上测试的具体步骤:
-
打开终端,启动MongoDB Daemon
mongod --port 27017 --dbpath /data/db
-
在新的终端标签页中进入mongo shell
mongo --port 27017
-
创建管理员用户
use admin db.createUser( { user: "user1", pwd: "user1", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, { role: "dbAdminAnyDatabase", db: "admin" }, { role: "readWriteAnyDatabase", db: "admin" } ] } )
-
在mongo shell页面输入
quit()
退出 -
在mongo daemon页面 按住
ctrl-c
终止进程 -
启用 --auth 选项重新启动mongod
$ mongod --auth --port 27017 --dbpath /data/db 2019-02-23T16:18:38.539+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' ... ... 2019-02-23T16:18:38.553+0800 I CONTROL [initandlisten] options: { net: { port: 27017 }, security: { authorization: "enabled" }, storage: { dbPath: "/data/db" } }
-
使用之前创建的用户登入mongo shell
$ mongo --port 27017 -u "user1" -p "user1" --authenticationDatabase "admin" MongoDB shell version v4.0.2 connecting to: mongodb://127.0.0.1:27017/ MongoDB server version: 4.0.2 ...