調べると、まとまったサイトを見つけ出すことが出来なかったのでメモを残しておきます。
リポジトリ追加
$ sudo vi /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
インストール
$ sudo yum install -y mongodb-org
起動と自動起動の有効化
$ sudo systemctl start mongod
$ sudo systemctl enable mongod
管理者アカウントの作成
$ mongo
db.createUser( { user: "admin", pwd: "パスワードを指定してください", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
mongoコマンドを実行すると警告が複数出るためそれの対策を行います
警告の内容についてはメモを残し忘れてしまいました・・・
$ sudo vi /etc/rc.local
# 以下追記 if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
$ sudo chmod +x /etc/rc.d/rc.local
$ sudo vi /etc/security/limits.d/99-mongodb-nproc.conf
# ファイルを新規作成して以下を記述 * soft nproc 1024 root soft nproc unlimited mongod soft nproc unlimited * soft nofile 64000 * hard nofile 64000
認証の有効化 2.4系の設定が散乱しているようですが2.6系以降は以下の設定を行うようです。
$ sudo vi /etc/mongod.conf
security: authorization: "enabled"
未ログイン時
$ mongo
> db.system.users.find() Error: error: { "ok" : 0, "errmsg" : "not authorized on test to execute command { find: \"system.users\", filter: {} }", "code" : 13 }
ログイン成功時
$ mongo admin -u admin -p
MongoDB shell version: 3.2.10 Enter password: connecting to: admin > db.system.users.find() { "_id" : "admin.admin", "user" : "admin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "****************", "storedKey" : "****************", "serverKey" : "****************" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
最近のコメント