一. 官网下载对应版本的mongodb
官网下载链接 MongoDB Download Center
我下载的版本是 mongodb-linux-x86_64-3.2.10.tgz
二. 拷贝至linux服务器并解压
将压缩包拷贝到 /usr/local 目录下
解压, 解压后重命名为mongodb
tar -zxvf mongodb-linux-x86_64-3.2.10.tgz
三. 分别创建数据文件夹,日志文件夹和配置文件
mkdir /var/mongodb
mkdir /var/mongodb/data # 数据文件夹
mkdir /var/mongodb/data/db # db文件夹
mkdir /var/mongodb/logs # 日志文件夹
创建mongodb.conf文件,放在 /var/mongodb/mongodb.conf下, 内容如下:
port=27017
dbpath=/var/mongodb/data/db
logpath=/var/mongodb/logs/mongodb.log
pidfilepath=/var/mongodb/mongo.pid
fork=true
logappend=true
#auth=true
四. 添加开机启动项 [ vi编辑器的使用 http://dwz.cn/4OoIe8 ]
vi + /etc/rc.d/rc.local
将下面的mongodb启动命令追加到本文件中:
/usr/local/mongodb/bin/mongod --config /var/mongodb/mongodb.conf
五. Mongodb用户权限配置
mongodb权限说明:
mongodb是没有默认管理员账号,所以要先添加管理员账号,再开启权限认证。
切换到admin数据库,添加的账号才是管理员账号。
用户只能在用户所在数据库登录,包括管理员账号。
管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。
着重强调一点, 初次安装使用mongodb时,一定要记得授权和做相应的防漏洞加固!网上大多数教程只说怎么安装使用mongodb,没有强调授权的重要性! 具体参考阿里云技术分享: MongoDB数据库未授权访问漏洞及加固_技术分享_技术运维问题_漏洞扫描-阿里云
以下是基本的授权配置
# 启动mongodb,并进入admin数据库
cd /usr/local/mongodb/bin # 进入mongo目录
./mongo # 启动mongo
use admin # 使用admin库
# 创建root全局账户,并授权
db.createUser({
user: "admin2017test",
pwd: "admin2017test@2017",
roles:[{
"role":"userAdminAnyDatabase","db":"admin"}]
})
use db_test # 创建自己的数据库
# 为自己创建的数据库新建管理员
db.createUser({
user: "testUser",
pwd: "testUserPwd",
roles: [ { role: "dbOwner", db: "db_test" } ]
})
# 开启配置文件中的auth = true选项
port=27017
dbpath=/var/mongodb/data/db
logpath=/var/mongodb/logs/mongodb.log
pidfilepath=/var/mongodb/mongo.pid
fork=true
logappend=true
auth=true
更多关于添加管理员和授权操作参见:MongoDB – Add Users and Authenticate
更多关于MongoDB加固内容参见:MongoDB security checklist
附: mongodb相关的常用操作指令
# 启动mongodb
/usr/local/mongodb/bin/mongod --config /var/mongodb/mongodb.conf
netstat -lanp |grep 27017 # 查看进程 27017
pkill mongod # 停止mongodb
ps aux|grep mongo # 查看mongodb安装目录
附: mongodb参考文档
极客学院 Mongodb教程 The Little MongoDB Book
Mongodb中文文档 MongoDB 3.4 中文文档