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

相关推荐
jingyu飞鸟14 分钟前
Centos系统二进制安装mysql5.7.44、添加环境变量、复制启动脚本、初始化数据库、设置用户密码
linux·运维·服务器·数据库·mysql
京存高性能存储42 分钟前
京存分布式赋能EDA应用
运维·服务器·网络·图像处理·分布式·自动驾驶
橘猫0.o1 小时前
【香橙派系列教程】(十六) 语音模块与阿里云结合
linux·arm开发·阿里云·云计算
何以解忧,唯有..1 小时前
密码学基础
运维·服务器·密码学
服务端相声演员1 小时前
更轻量级的性能测试工具—Apache Bench
linux·运维·apache
Rverdoser1 小时前
MongoDB适用场景
数据库·mongodb
Jtti1 小时前
新加坡服务器解决访问慢的方法有哪些?
运维·服务器
技术猿188702783512 小时前
利用API接口实现商品信息自动化更新的高效策略
运维·自动化
MESSIR222 小时前
docker基本命令
运维·docker·容器
yang2952423612 小时前
在Docker中,本地的镜像文件都存放在哪里?
运维·docker·容器