下载MongoDB
安装MongoDB
- 创建安装目录
我直接安装到根目录,下面直接创建多级文件夹,把数据目录一起创建(为了避免权限问题我直接在home文件夹下创建)
sudo mkdir -p /home/zzz/mongodb_ser/data/db
sudo mkdir -p /home/zzz/mongodb_ser/data/log
- 将下载的安装包解压到上面目录
tar -xvf mongodb-linux-x86_64-enterprise-ubuntu1604-3.2.22.tgz
sudo mv -f mongodb-linux-x86_64-enterprise-ubuntu1604-3.2.22/* /home/zzz/mongodb_ser
- 创建配置文件
vim mongo.yml
# 日志位置
systemLog:
destination: file
logAppend: true
path: /home/zzz/mongodb_ser/data/log/mongodb.log
# Where and how to store data.
# db存储位置
storage:
dbPath: /home/zzz/mongodb_ser/data/db
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
# fork : fork and run in background 后台运行
# pidFilePath:location of pidfile
# processManagement:
# fork: true
# pidFilePath: /home/zzz/mongodb_ser/data/mongod.pid
# network interfaces
# Listen to local interface only, comment to listen on all interfaces.
net:
port: 27017
bindIp: 0.0.0.0
#security: enabled disabled
#security:
# keyFile: /home/zzz/mongodb_ser/data/keyfile
# clusterAuthMode: keyFile
## Enterprise-Only Options
# 审计日志设置
# auditLog:
# destination: file
# format: BSON
# path: /home/zzz/mongodb_ser/data/audit.bson
#snmp:
- 启动
/home/zzz/mongodb_ser/bin/mongod -f /home/zzz/mongodb_ser/mongo.yml
启动成功后,这个窗口就不能输入了,不能关窗口,关闭会停止运行。
-
登录
因为没启用身份验证,直接登录即可
/home/zzz/mongodb_ser/bin/mongo
- 停止
停止有两种方式,一种是登录进去停止
MongoDB Enterprise > use admin
switched to db admin
MongoDB Enterprise > db.shutdownServer()
另一种是使用停止参数shutdown
/home/zzz/mongodb_ser/bin/mongod -f /home/zzz/mongodb_ser/mongo.yml -shutdown
- 保持后台运行
修改配置文件,添加下面部分(上面配置文件有取消注释即可)
# how the process runs
# fork : fork and run in background 后台运行
# pidFilePath:location of pidfile
processManagement:
fork: true
pidFilePath: /home/zzz/mongodb_ser/data/mongod.pid
修改后在启动,启动成功后窗口还可以输入,但会提示启动成功,如下所示:
zzz@zzz-vb:~/mongodb_ser/data$ /home/zzz/mongodb_ser/bin/mongod -f /home/zzz/mongodb_ser/mongo.yml
about to fork child process, waiting until server is ready for connections.
forked process: 4888
child process started successfully, parent exiting
zzz@zzz-vb:~/mongodb_ser/data$
- 启用身份验证
修改配置文件,添加下面部分(上面配置文件有取消注释即可)
#security: enabled disabled
#security:
# keyFile: /home/zzz/mongodb_ser/data/keyfile
# clusterAuthMode: keyFile
注:keyfile文件要创建好才能用,直接创建一个空文件,在里面填些字符即可
设置好后,如果还没有创建用户,还可以直接登录,但创建第一个用户后就身份验证了
为了减少后续麻烦,我们先创建一个用户管理员,具体操作如下:
zzz@zzz-vb:~/mongodb_ser/data$ /home/zzz/mongodb_ser/bin/mongo
MongoDB shell version: 3.2.22
connecting to: test
MongoDB Enterprise > use admin
switched to db admin
MongoDB Enterprise > db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
MongoDB Enterprise > exit
bye
zzz@zzz-vb:~/mongodb_ser/data$ /home/zzz/mongodb_ser/bin/mongo localhost:27017/admin -uadmin -p123456
MongoDB shell version: 3.2.22
connecting to: localhost:27017/admin
MongoDB Enterprise >
到这里单机版MongoDB就部署好了,
更多MongoDB角色可以查看:MongoDB开启用户权限
MongoDB集群可以参考(这是windows版的,但流程大致一样):MongoDB分片集群搭建