2017年01月06日

mongodb 3.4 認証:ユーザー追加などメモ

CentOS6から7へアップデートしたついでに、mongodbも2.xから3.4へアップデートしてみたら、ユーザー関連の設定方法が違ってて少しハマったのでメモとして残しておきます。

参考
https://docs.mongodb.com/manual/tutorial/enable-authentication/
など

mongodb 2.xの時は、簡単な設定しかなかったんだけど(後DB毎にユーザー設定するとか、ちょっと変だったw)
mongodb 3.xではコマンドが変更されて、一元管理的になってました。

・ユーザー登録例
まずは管理者権限のユーザー登録です。
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)


mongodb 3.4ではデフォルトでユーザー認証が有効になっている模様(2.xの時はデフォルト無効)
ですので最初に管理者権限のユーザーを登録する必要があります。
2.xの時と違って、認証なくてもmongodbに入れるようになっているので、それから admin DBへ移動してユーザー登録します。
その後 admin で認証すれば管理者になれます。

認証例
use admin
db.auth("myUserAdmin", "abc123" )


・一般ユーザーの登録例
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)


mongodbへログインするには以下のようにもできます。
# mongo "mongodb://myTester: xyz123@localhost:27017/test"


・その他
ユーザー登録をアップデートするときは db.updateUser でやるらしい。

追加
さくらのVPSでcappedに3000件登録するテストをしたら
CentoOS6 mongodb 2.4 : 約13秒
CentoOS7 mongodb 3.4 : 約6秒
とパフォーマンスがアップされてました。
mongodb 3.4の方もほとんどチューニング等してないけど、WiredTigerのおかげかも?
posted by zjapan at 14:07| Comment(0) | TrackBack(0) | DB | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック