MongoDB安装

安装Server

  1. https://www.mongodb.com/download-center/community找安装包TGZ//https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.6.tgz

  2. Wget后创建一个dbpath的文件夹记得给权限

  3. 给MongoDB文件夹添加环境变量
    vi /etc/profile

    export MONGODBPATH=<mongodb-install-directory>
    export PATH=$PATH:$MONGODBPATH/bin
    #<mongodb-install-directory> 为MongoDB 的安装路径
    export MONGODBPATH=/mongodb
    export PATH=$PATH:$MONGODBPATH/bin
  4. 命令方式启动MongoDB

    /mongodb/bin/mongod --fork --dbpath "/root/db/" --logpath "/root/db/log" --bind_ip_all --port 12345
    #这是命令指定启动,比较麻烦
    #fork是驻后台 dbpath是数据库数据存放文件路径 logpath是log文件路径
  1. 配置文件方式启动MongoDB

vi /bin/mongodb.conf

dbpath = /root/db/ #数据文件存放目录
logpath = /root/db/log #日志文件存放目录
port = 12345 #端口
fork = true #以守护程序的方式启用,即在后台运行
auth=true #验证用户名密码
logappend=true
bind_ip=0.0.0.0 #这里默认是127.0.0.1, 设置成0.0.0.0是表示所有IP地址都可以访问(后面会具体介绍)
#这种以配置文件启动方式比较方便,在程序bin目录里vi mongodb.conf
./mongod -f ./mongodb.conf #启动

设置开机自启动
vi /usr/lib/systemd/system/mongodb.service

写入以下内容:
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/mongodb/bin/mongod -f /mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/mongodb/bin/mongod --shutdown -f /mongodb/bin/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

重载系统服务

systemctl daemon-reload
systemctl enable mongodb
systemctl start mongodb
  1. 创建一个root用户,超级管理员可以管理MongoDB下的所有库以及权限、备份及集群等操作.

    use admin
    db.createUser({user:"用户名", pwd: "密码", roles: ["root"]})
  1. 在本地进admin库里添加用户

    db.createUser({user: "用户名",pwd: "密码",roles:[{ role:"userAdminAnyDatabase",db:"admin"}] });
    #认证方法db.auth("用户名","密码")
    db.updateUser(
    "用户名",
    {
    roles : [
    {"role" : "userAdminAnyDatabase","db" : "admin"},
    {"role" : "dbOwner","db" : "admin"},
    {"role" : "clusterAdmin", "db": "admin"}
    ]
    }
    )
    #添加权限
    db.createUser({user:"用户名",pwd:"密码",roles:[{role:"readWrite",db:"数据库名"}]});
    #普通用户添加
  2. 开机自启设置
    vim /etc/rc.d/init.d/mongod

    #记得替换MongoDB程序目录
    start() {
    /mongodb/bin/mongod --config /mongodb/bin/mongodb.conf
    }

    stop() {
    /mongodb/bin/mongod --config /mongodb/bin/mongodb.conf --shutdown
    }
    case "$1" in
    start)
    start
    ;;

    stop)
    stop
    ;;

    restart)
    stop
    start
    ;;
    *)
    echo
    $"Usage: $0 {start|stop|restart}"
    exit 1
    esac
    chmod +x /etc/rc.d/init.d/mongod
    service stop mongod
    service start mongod