mongodb安装

mongodb安装

1、创建:/etc/yum.repos.d/mongodb-org-4.0.repo,gpgcheck=0设置为0,将baseurl切换为国内的镜像,加快下载速度。

[mongodb-org-4.0]

name=MongoDB Repository

baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/$releasever/mongodb-org/4.0/x86_64/

gpgcheck=0

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

2、安装:yum install -y mongodb-org-4.0.4-1.el6,等待安装完成(使用yum list mongodb-org查看可选版本)

3、编辑配置mongod,/etc/mongod.conf,注意:后面有分隔符,此项需要在创建完管理员账号后才能开启:security:  authorization: enabled

自定义日志路径:/cache7/mongodb/log/mongod.log  (不存在创建)

l  自定义存储路径:/cache7/mongodb/db/ (不存在创建)    

限制内存使用:wiredTiger: engineConfig: cacheSizeGB: 4

l  使用公司规定端口:$PORT

l  绑定本机IP:bindIp: $LOCAL_IP (本机IP)

开启权限访问:security:  authorization: enabled(管理员创建完成之后再开启)

 

# where to write logging data.

systemLog:

  destination: file

  logAppend: true

  path: /cache7/mongodb/log/mongod.log

 

# Where and how to store data.

storage:

  dbPath: /cache7/mongodb/db/

  journal:

    enabled: true

#  engine:

#  mmapv1:

  wiredTiger:

    engineConfig:

         cacheSizeGB: 4

 

# how the process runs

processManagement:

  fork: true  # fork and run in background

  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile

  timeZoneInfo: /usr/share/zoneinfo

 

# network interfaces

net:

  port: $PORT

  bindIp: $LOCAL_IP  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

security:

  authorization: enabled

#operationProfiling:

 

#replication:

 

#sharding:

 

## Enterprise-Only Options

 

#auditLog:

 

#snmp:

4、创建管理员用户

启动mongod:/usr/bin/mongod -f /etc/mongod.conf

[root@localhost bin]# mongo $LOCAL_IP:$PORT/admin

MongoDB Enterprise > db.createUser({

...   user: "adminMongo",

...   pwd: "#123admin",

...   roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]

... })

Successfully added user: {

         "user" : " adminMongo ",

         "roles" : [

                   {

                            "role" : "userAdminAnyDatabase",

                            "db" : "admin"

                   }

         ]

}

创建app_user用户:(根据实际需求创建)

use appDB;

db.createUser({

user:'app_user',

pwd:'app_user123-',

roles:[{role:'readWrite',db:'appDB'}]

});

 

kill 进程号

server should be down...

5、修改/etc/mongod.conf,开启security:  authorization: enabled,重启服务

[root@localhost bin]# /usr/bin/mongod -f /etc/mongod.conf

6、给admin赋备份权限:

db.updateUser(

   "adminMongo ",

   {

     roles : [

               { "role" : "userAdminAnyDatabase", "db" : "admin" }, { "role" : "backup", "db" : "admin" }

             ],

     pwd: "#123admin"

    }

)

导出备份命令:

mongodump  -u adminMongo -p #123admin -h $LOCAL_IP --port $PORT --authenticationDatabase 'admin'  -d user_app -o  /backup/mongodb/

 

7、导入:

给admin赋目标DB(例如: user_app)读写权限

db.updateUser(

   " adminMongo ",

   {roles :

 [{ "role" : "userAdminAnyDatabase","db" : "admin" }, { "role" : "backup", "db" : "admin" },{ "role" : "readWrite", "db" : " user_app" }],

pwd: "#123admin"}

)

导入备份命令:

mongorestore --host $LOCAL_IP:$PORT -u adminMongo  -p #123admin  --authenticationDatabase admin -d user_app /backup/mongodb/user_app/

posted @ 2018-12-19 16:36  MigrantWorkers  阅读(117)  评论(0编辑  收藏  举报