二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

    • 认识了解MongoDB
    • CentOS-7部署MongoDB
      • 1,安装前准备
      • 2,环境说明
      • 3,部署 MongoDB
        • 1,安装所需依赖
        • 2,下载所需包
        • 3,解压包
        • 4,创建数据存储目录和日志文件目录
        • 5,编辑 MongoDB 启动配置文件
        • 6,MongoDB 的可执行文件位于 bin 目录下,需要将其添加到 PATH 路径中
        • 7,启动 MongoDB
        • 8,访问
        • 9,使用脚本加入开机自启
      • 1,数据库的启动与关闭
      • 2, 参数说明:
      • 3,使用配置文件的方式管理数据库
        • 1,普通格式配置文件
        • 2,YAML 格式配置文件(官方推荐使用)
        • 3,切忌 kill -9
      • 4,客户端连接工具
    • MongoDB增删改查基本操作
    • MongoDB日常运维之用户管理
    • MongoDB索引方面的学习实践
    • MongoDB关联查询的学习以及实践
  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

  • 运维观止
  • MongoDB
二丫讲梵
2019-07-06
目录

CentOS-7部署MongoDB

文章发布较早,内容可能过时,阅读注意甄别。

MongoDB 官网:https://www.mongodb.com/

各版本软件下载地址:https://www.mongodb.com/download-center/community?jmp=nav

# 1,安装前准备

在安装之前首先确认该版本软件是否支持你的操作系统。

更多详情查看:https://docs.mongodb.com/manual/installation/

Platform 4.0 Community & Enterprise 3.6 Community & Enterprise 3.4 Community & Enterprise 3.2 Community & Enterprise 3.0 Community & Enterprise
RHEL/CentOS 6.2 and later ✓ ✓ ✓ ✓ ✓
RHEL/CentOS 7.0 and later ✓ ✓ ✓ ✓ ✓

# 2,环境说明

系统环境说明:

[root@localhost ~]$cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
1
2

软件版本说明

本次使用的mongodb版本为:mongodb-linux-s390x-rhel72-4.0.10.tgz

image

# 3,部署 MongoDB

# 1,安装所需依赖

yum -y install libcurl openssl
1

# 2,下载所需包

[root@localhost src]$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.10.tgz
1

# 3,解压包

[root@localhost src]$ tar xf mongodb-linux-x86_64-rhel70-4.0.10.tgz
[root@localhost src]$ mv mongodb-linux-x86_64-rhel70-4.0.10 /usr/local/mongodb
1
2

# 4,创建数据存储目录和日志文件目录

mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs
1
2

# 5,编辑 MongoDB 启动配置文件

cd /usr/local/mongodb/bin
vim mongodb.conf
#数据存储目录
dbpath=/usr/local/mongodb/data/db
#日志文件目录
logpath=/usr/local/mongodb/logs/mongodb.log
#后台运行
fork=true
auth=true
bind_ip=0.0.0.0
1
2
3
4
5
6
7
8
9
10

参数说明:

参数 参数说明
–dbpath 数据存放路径
–logpath 日志文件路径
–logappend 日志输出方式
–port 启用端口号
–fork 在后台运行
–auth 是否需要验证权限登录 (用户名和密码)
–bind_ip 限制访问的 ip
–shutdown 关闭数据库

# 6,MongoDB 的可执行文件位于 bin 目录下,需要将其添加到 PATH 路径中

vim /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin   #末尾处添加
source /etc/profile    #重新加载环境变量
1
2
3
4

# 7,启动 MongoDB

cd /usr/local/mongodb/bin
mongod -f mongodb.conf
1
2

# 8,访问

[root@localhost ~]$mongo
MongoDB shell version v4.0.10
connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("cdd40824-7611-41cb-a3ab-ef737a82068d") }
MongoDB server version: 4.0.10
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
    http://docs.mongodb.org/
Questions? Try the support group
    http://groups.google.com/group/mongodb-user
>
[root@localhost bin]$mongod -f mongodb.conf --shutdown  #关闭服务
1
2
3
4
5
6
7
8
9
10
11
12
13

# 9,使用脚本加入开机自启

给系统添加 MongoDB 管理脚本。

cat > /usr/lib/systemd/system/mongod.service << EOF
[Unit]
Description=MongoDB database server
After=network.target
[Service]
Type=forking
#PIDFile=/home/dp/data/mongodb/pid
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
1
2
3
4
5
6
7
8
9
10
11
12

然后加载启动。

[root@localhost ~]$systemctl daemon-reload
[root@localhost ~]$systemctl start  mongod
[root@localhost ~]$systemctl status  mongod
● mongod.service - MongoDB database server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2019-07-03 11:41:13 CST; 1min 29s ago
 Main PID: 18489 (mongod)
   CGroup: /system.slice/mongod.service
           └─18489 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
Jul 03 11:41:12 localhost.localdomain systemd[1]: Starting MongoDB database server...
Jul 03 11:41:12 localhost.localdomain mongod[18487]: about to fork child process, waiting until server is ready for connections.
Jul 03 11:41:12 localhost.localdomain mongod[18487]: forked process: 18489
Jul 03 11:41:13 localhost.localdomain mongod[18487]: child process started successfully, parent exiting
Jul 03 11:41:13 localhost.localdomain systemd[1]: Started MongoDB database server.
[root@localhost ~]$systemctl enable  mongod
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

这样就能够实现比较简单的管理了。

# 1,数据库的启动与关闭

启动:mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongodb.log --port=27017 --logappend --fork
关闭:mongod --shutdown  --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/log/mongodb.log --port=27017 --logappend --fork
1
2

# 2, 参数说明:

参数 参数说明
–dbpath 数据存放路径
–logpath 日志文件路径
–logappend 日志输出方式
–port 启用端口号
–fork 在后台运行
–auth 是否需要验证权限登录 (用户名和密码)
–bind_ip 限制访问的 ip
–shutdown 关闭数据库

# 3,使用配置文件的方式管理数据库

# 1,普通格式配置文件

[mongod@MongoDB conf]$ vim mongod1.conf
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/log/mongodb.log
port=27017
logappend=1
fork=1
1
2
3
4
5
6

使用配置文件时的启动与关闭:

启动:mongod -f mongod1.conf
关闭:mongod -f mongod1.conf  --shutdown
1
2

# 2,YAML 格式配置文件(官方推荐使用)

[mongod@MongoDB conf]$ cat  mongod.conf
systemLog:
   destination: file
   path: "/usr/local/mongodb/log/mongod.log"
   logAppend: true
storage:
   journal:
      enabled: true
   dbPath: "/usr/local/mongodb/data"
processManagement:
   fork: true
net:
   port: 27017
1
2
3
4
5
6
7
8
9
10
11
12
13

注:mongod 进程收到 SIGINT 信号或者 SIGTERM 信号,会做一些处理

  • 关闭所有打开的连接
  • 将内存数据强制刷新到磁盘
  • 当前的操作执行完毕
  • 安全停止

# 3,切忌 kill -9

如果使用 kill -9 直接关闭数据库,可能会造成数据丢失,数据文件损失等风险。

可通过如下安全的方式进行关闭。

$ kill -2 PID
  原理:-2表示向mongod进程发送SIGINT信号。
$ kill -4 PID
  原理:-4表示向mognod进程发送SIGTERM信号。
1
2
3
4

当然也可以通过使用systemctl stop mongod来关闭数据库。

# 4,客户端连接工具

MongoDB 有一个相当友好的客户端管理工具,这里我推荐使用 robo,可以通过如下地址下载使用。

  • http://c.eryajf.net/%E5%B7%A5%E5%85%B7/29%EF%BC%8CMongoDB%E5%AE%A2%E6%88%B7%E7%AB%AF/robo.3t.windows-x86_64.7z (opens new window)

参考:http://t.cn/AiOcP9Cy

微信 支付宝
#MongoDB
上次更新: 2024/07/04, 22:40:37
认识了解MongoDB
MongoDB增删改查基本操作

← 认识了解MongoDB MongoDB增删改查基本操作→

最近更新
01
记录二五年五一之短暂回归家庭
05-09
02
学习周刊-总第210期-2025年第19周
05-09
03
学习周刊-总第209期-2025年第18周
05-03
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式