下载
去官网下载软件包到服务器安装:官网地址
点击Tre Free按钮进入下载页面,点击Server选项,选好版本号、操作系统与包的类型,我选择的是tgz的源码包。
地址是:fastdl.mongodb.org/linux/mongo…
下载源码包并编译安装
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.0.tgz
tar zxf mongodb-linux-x86_64-rhel70-4.2.0.tgz
解压缩后当前目录会有一个mongodb-linux-x86_64-rhel70-4.2.0的目录,进入后有一个bin目录包含Mongodb的所有可执行文件。
安装
将bin目录放到一个可执行的文件目录里,我这里放到 /Data/app/mongo 里。
mv bin /Data/app/mongo
创建数据库目录
数据库文件目录
mongo的数据库文件默认放在/data/db
中,我改成自己统一的目录中,后续需要改下配置文件。
mkdir /Data/database/mongo
日志目录
用于存放MongoDB系统日志文件
mkdir /Data/app/mongo/log
启动mongod服务
启动服务测试安装是否正确。
- dbpath:指定数据库文件路径
- logpath:指定日志文件路径
./mongod --dbpath /Data/database/mongo --logpath /Data/app/mongo/log/mongo.log
配置
systemLog:
destination: file
###日志存储位置
path: /Data/app/mongo/log/mongo.log
logAppend: true
storage:
##journal配置
journal:
enabled: true
##数据文件存储位置
dbPath: /Data/database/mongo
##是否一个库一个文件夹
directoryPerDB: true
##数据引擎
engine: wiredTiger
##WT引擎配置
wiredTiger:
engineConfig:
##WT最大使用cache(根据服务器实际情况调节4~8)
cacheSizeGB: 4
##是否将索引也按数据库名单独存储
directoryForIndexes: true
##表压缩配置,数据压缩算法,可选值“none”、“snappy”、“zlib”
collectionConfig:
blockCompressor: none
##索引配置
indexConfig:
prefixCompression: true
##使mongo进程成为系统集成(父id为1)
processManagement:
fork: true
pidFilePath : /Data/app/mongo/mongod.pid
设置开机启动
创建文件mongod.service,内容如下
[Unit]
Description=MongoDB database server
After=network.target
After=syslog.target
[Service]
Type=oneshot
User=root
KillMode=process
ExecStart=/Data/app/mongo/bin/mongod -f /Data/app/mongo/mongod.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
移动配置文件
mv mongod.service /usr/lib/systemd/system/mongod.service
设置文件权限为745
chmod 745 mongod.service
- 重新加载配置文件用
systemctl daemon-reload
- 用
systemctl start mongod
可测试服务是否可以成功运行 - 用
systemctl kill mongod
可以杀掉进程 - 如果不能运行则可以使用
systemctl status mongod
查看错误信息和其他服务信息。
设置开机启动
systemctl enable mongod
关闭开机启动
systemctl disable mongod
安全设置
- 在未开启认证环境下登陆
/Data/app/mongo/bin/mongo
- 切换到admin数据库
use admin
- 创建管理员账号
db.createUser({user:"admin",pwd:"jwiu$21@#",roles:["root"]})
- 验证用户是否添加成功
db.auth('admin','jwiu$21@#')
返回1表示创建成功。
- 步骤五:杀掉进程,重启mongoDB服务
systemctl kill mongod