Centos下安装Mongodb

1,238 阅读2分钟

下载

去官网下载软件包到服务器安装:官网地址

点击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

安全设置

  1. 在未开启认证环境下登陆
/Data/app/mongo/bin/mongo
  1. 切换到admin数据库
use admin
  1. 创建管理员账号
db.createUser({user:"admin",pwd:"jwiu$21@#",roles:["root"]})
  1. 验证用户是否添加成功
db.auth('admin','jwiu$21@#')

返回1表示创建成功。

  1. 步骤五:杀掉进程,重启mongoDB服务
systemctl kill mongod