linux环境安装mongoDB

一、安装单体mogodb

目标:在Linux中部署一个单机的MongoDB,作为生产环境下使用。

提示:和Windows下操作差不多。

步骤如下:

(1)先到官网下载压缩包 mongod-linux-x86_64-4.0.10.tgz 。

(2)上传压缩包到Linux中,解压到当前目录:

bash 复制代码
tar -xvf mongodb-linux-x86_64-4.0.10.tgz

(3)移动解压后的文件夹到指定的目录中:

bash 复制代码
mv mongodb-linux-x86_64-4.0.10 /usr/local/mongodb

(4)新建几个目录,分别用来存储数据和日志:

bash 复制代码
#数据存储目录
mkdir -p /data/mongodb/single/data/db
#日志存储目录
mkdir -p /data/mongodb/single/log

(5)新建并修改配置文件

bash 复制代码
vi /data/mongodb/single/mongod.conf

配置文件的内容如下:

bash 复制代码
systemLog:
  #MongoDB发送所有日志输出的目标指定为文件
  # #The path of the log file to which mongod or mongos should send all diagnostic logging information
  destination: file
  #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
  path: "/data/mongodb/single/log/mongod.log"
  #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
  logAppend: true
storage:
  #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
  ##The directory where the mongod instance stores its data.Default Value is "/data/db".
  dbPath: "/data/mongodb/single/data/db"
  journal:
    #启用或禁用持久性日志以确保数据文件保持有效和可恢复。
    enabled: true
processManagement:
  #启用在后台运行mongos或mongod进程的守护进程模式。
  fork: true
net:
  #服务实例绑定的IP,默认是localhost
  bindIp: localhost,172.17.4.55
  #bindIp
  #绑定的端口,默认是27017
  port: 27017

配置文件说明

在解压目录中新建 config 文件夹,该文件夹中新建配置文件 mongod.conf ,内如参考如下:

bash 复制代码
storage:
#The directory where the mongod instance stores its data.Default Value is "\data\db" on Windows.
dbPath: D:\02_Server\DBServer\mongodb-win32-x86_64-2008plus-ssl-4.0.1\data

详细配置项内容可以参考官方文档:https://docs.mongodb.com/manual/reference/configuration-options/

【注意】

1)配置文件中如果使用双引号,比如路径地址,自动会将双引号的内容转义。如果不转义,则会报错:

bash 复制代码
error-parsing-yaml-config-file-yaml-cpp-error-at-line-3-column-15-unknown-escape-character-d

解决:

a. 对 \ 换成 / 或 \

b. 如果路径中没有空格,则无需加引号。

2)配置文件中不能以Tab分割字段

解决:

将其转换成空格。

启动方式:

bash 复制代码
mongod -f ../config/mongod.conf
或
mongod --config ../config/mongod.conf

(6)启动MongoDB服务

bash 复制代码
/opt/mongodb-linux-x86_64-4.0.10/bin/mongod  -f  /data/mongodb/single/mongod.conf
bash 复制代码
[root@bobohost single]# /opt/mongodb-linux-x86_64-4.0.10/bin/mongod  -f  /data/mongodb/single/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 90384
child process started successfully, parent exiting

注意:

如果启动后不是 successfully ,则是启动失败了。原因基本上就是配置文件有问题

通过进程来查看服务是否启动了:

bash 复制代码
[root@bobohost single]# ps -ef |grep mongod
root 90384 1 0 8月26 ? 00:02:13 /usr/local/mongdb/bin/mongod -f /mongodb/single/mongod.conf

(7)分别使用mongo命令和compass工具来连接测试。

提示:如果远程连接不上,需要配置防火墙放行,或直接关闭linux防火墙

bash 复制代码
#查看防火墙状态
systemctl status firewalld
#临时关闭防火墙
systemctl stop firewalld
#开机禁止启动防火墙
systemctl disable firewalld

(8)停止关闭服务

停止服务的方式有两种:快速关闭和标准关闭,下面依次说明:

  • (一)快速关闭方法(快速,简单,数据可能会出错)
    目标:通过系统的kill命令直接杀死进程:
    杀完要检查一下,避免有的没有杀掉。
bash 复制代码
#通过进程编号关闭节点
kill -2 54410

【补充】

如果一旦是因为数据损坏,则需要进行如下操作(了解):

1)删除lock文件:

bash 复制代码
rm -f /mongodb/single/data/db/*.lock

2)修复数据:

bash 复制代码
/usr/local/mongdb/bin/mongod --repair --dbpath=/mongodb/single/data/db

(二)标准的关闭方法(数据不容易出错,但麻烦):

目标:通过mongo客户端中的shutdownServer命令来关闭服务

主要的操作步骤参考如下:

bash 复制代码
//客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
mongo --port 27017
//#切换到admin库
use admin
//关闭服务
db.shutdownServer()

(9) 客户端连接工具Robo 3T

相关推荐
团儿.几秒前
Docker服务发现新纪元:探索Consul的无限魅力
运维·docker·云计算·服务发现·consul
CC呢11 分钟前
基于单片机的智能婴儿床监护系统多功能婴儿床摇篮系统
数据库·mongodb
赵大仁19 分钟前
在 CentOS 7 上安装 Node.js 20 并升级 GCC、make 和 glibc
linux·运维·服务器·ide·ubuntu·centos·计算机基础
vvw&24 分钟前
Docker Build 命令详解:在 Ubuntu 上构建 Docker 镜像教程
linux·运维·服务器·ubuntu·docker·容器·开源
李白你好30 分钟前
家用无线路由器的 2.4GHz 和 5GHz
运维·网络
苹果醋332 分钟前
React系列(八)——React进阶知识点拓展
运维·vue.js·spring boot·nginx·课程设计
冷冰鱼1 小时前
【问题实录】服务器ping不通win11笔记本
运维·服务器
wayuncn1 小时前
web服务器之云主机、物理机租用、服务器托管的区别
运维·服务器
冷曦_sole1 小时前
linux-21 目录管理(一)mkdir命令,创建空目录
linux·运维·服务器
最后一个bug1 小时前
STM32MP1linux根文件系统目录作用
linux·c语言·arm开发·单片机·嵌入式硬件