1. ホーム
  2. mongodb

[解決済み] MongoDBのデフォルトのユーザーとパスワードは何ですか?

2022-02-11 05:52:04

質問

ローカルと本番で同じ接続文字列を使用しています。 接続文字列が mongodb://localhost/mydb

ユーザー名とパスワードは何ですか? このままにしておくと安全ですか?

解決方法は?

デフォルトでは、mongodbはアクセス制御を有効にしていないので、デフォルトのユーザーやパスワードは存在しません。

アクセス制御を有効にするには、コマンドライン・オプションの --auth またはsecurity.authorizationコンフィギュレーション・ファイルの設定です。

以下の手順で行うか、または、以下を参照してください。 認証の有効化 を参照してください。

手順

  1. アクセス制御を行わずにMongoDBを起動します。

    mongod --port 27017 --dbpath /data/db1
    
    
  2. インスタンスに接続します。

    mongo --port 27017
    
    
  3. ユーザー管理者を作成します。

    use admin
    db.createUser(
      {
        user: "myUserAdmin",
        pwd: "abc123",
        roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
      }
    )
    
    
  4. MongoDBインスタンスをアクセス制御して再スタートします。

    mongod --auth --port 27017 --dbpath /data/db1
    
    
  5. ユーザー管理者として認証する。

    mongo --port 27017 -u "myUserAdmin" -p "abc123" \
      --authenticationDatabase "admin"