MongoDB4.4-单机部署


1、简介

# MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能

# 最丰富,最像关系数据库的。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。它是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应

# 用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系型数据库的。它支持的数据结构

# 非常松散,会将数据存储为一个文档,数据结构由键值对(key=>value)组成,是类似于json的bson格式,字段值可以包含其它文档、数组和文档数组,因此可以存储比较复杂的数据类型

2、下载安装 MongoDB

cd /data
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.4.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.4.tgz -C /usr/local
mv /usr/local/mongodb-linux-x86_64-rhel70-4.4.4 /usr/local/mongodb

3、配置 MongoDB

cd /usr/local/mongodb/
mkdir data logs conf
创建mongo配置文件
vim conf/mongodb.conf
systemLog:
    quiet: false
    path: /usr/local/mongodb/logs/mongodb.log
    logAppend: false
    destination: file
processManagement:
    fork: true
    pidFilePath: /usr/local/mongodb/bin/mongodb.pid
net:
    bindIp: 0.0.0.0
    port: 27017
    maxIncomingConnections: 65536
    wireObjectCheck: true
storage:
    dbPath: /usr/local/mongodb/data
    journal:
        enabled: true
operationProfiling:
    slowOpThresholdMs: 100
    mode: off
security:
    authorization: enabled
vim /etc/systemd/system/mongodb.service

内容:
[Unit]  
Description=mongodb  
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
RuntimeDirectory=mongodb
RuntimeDirectoryMode=0751
PIDFile=/usr/local/mongodb/bin/mongodb.pid
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf  
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/conf/mongodb.conf  
PrivateTmp=false  
  
[Install]  
WantedBy=multi-user.target
服务命令:


systemctl start mongodb.service     #启动服务

systemctl stop mongodb.service      #停止服务

systemctl restart mongodb.service   #重新启动服务

systemctl status mongodb.service    #查看服务当前状态

systemctl enable mongodb.service    #设置开机自启动

systemctl disable mongodb.service   #停止开机自启动

vim /etc/profile
export PATH=$PATH:/usr/local/mongodb/bin
source /etc/profile

客户端连接:
./mongo

如果出现非正常关闭服务,处理方案:

复制代码
解决办法:
1)删除数据目录/usr/local/mongodb/data 下的 mongod.lock
[root@Mike-Node1 ~]# rm -rf /usr/local/mongodb/data/mongod.lock

2)修复mongodb
[root@Mike-Node1 ~]# /usr/local/mongodb/bin/mongod --logpath --dbpath /usr/local/mongodb/data --repair

3)删除/usr/local/mongodb/data/journal 下的 j._4 文件(或者将journal下的文件清空)
[root@Mike-Node1 ~]# rm -rf /usr/local/mongodb/data/journal/*j._4
4)然后再次启动 mongodb 就ok了
[root@Mike-Node1 ~]# systemctl start mongodb.service