MongoDB 服务配置和权限

安装MongoDB服务

前提是已经系统中已经安装了MongoDB,没有安装的前往 官网下载,根据自己的系统环境选择对应
的版本下载,MongoDB的官方文档 文档
安装并配置完成之后,就可以启动MongoDB

  • 执行下面的命令就可以启动MongoDB

    mongod.exe --dbpath d:\test\mongodb\data --logpath=d:\test\mongodb\log\mongo.log --logappend
    dbpath: 数据库文件的存放路径
    logpath: 日志文件的存放路径
    
  • 通过命令行启动服务

mongod.exe --dbpath d:\test\mongodb\data --logpath d:\test\mongodb\log\mongo.log --logappend --directoryperdb  --serviceName MongoDB   --install
  • 通过配置文件启动服务

创建一个配置文件mongo.conf

dbpath=d:\test\mongodb\data
logappend=true
logpath=d:\test\mongodb\log\mongo.log
directoryperdb=true
journal=true
serviceName=MongoDB
serviceDisplayName=MongoDBService
auth=false

MongoDB的一些配置选项请参考官网 配置选项

mongod --config d:\test\mongodb\mongo.conf --install
config: 必须是绝对路径
net start MongoDB  // 启动服务
net stop MongoDB   // 停止服务
sc delete MongoDB  //删除服务  需要管理员权限

MongoDB权限

首先使用不带 auth 参数的方式启动MongoDB,进入命令行

mongo
  • admin 数据库添加权限
use admin
db.createUser({
  user:"admin",
  pwd:"admin",
  roles:[{role:"userAdminAnyDatabase",db:"admin"}]
  })
  • 为其他的数据库添加权限
use test
db.createUser({
  user:"user",
  pwd:"user",
  roles:[{role:"readWrite",db:"test"}]
  })
  • 使用 auth参数启动MonoDB, 必须使用 用户名 密码进入数据库,然后进行其他相关的操作
mongo -u user -p user --authenticationDatabase test  //进入到test数据库

MongoDB备份和恢复

整个库备份

mongodump -h host -d dbname -o dbdirectory

整个库还原

mongorestore -h host -d dbname -directoryperdb dbdirectory

单个collection备份

mongoexport -h host -d dbname -c collection -f collectionKey -o dbdirectory

-f : 需要导出的字段(省略为所有字段)

单个collection恢复

mongoimport -d dbname -c collection -file dbdirectory