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
    ...
    
  • にログインする.