mongo和mongod的区别

mongo和mongod的区别,第1张

区别:

     1. mongod 和 mongo 的区别

前者是启用MongoDB进程,后者是对MongoDB进行连接操作

2. 执行 mongod 需要 配置路径 进行启用,单纯的双击 mongod.exe文件会闪出,正确的是执行mongod --dbpath 命令

3. 在执行mongod命令启用MongoDB进程(服务器)的基础上,再使用mongo 对其进行连接操作,

概念:

1.什么是”mongod“

mongod是处理MongoDB系统的主要进程。它处理数据请求,管理数据存储,和执行后台管理操作。当我们运行mongod命令意味着正在启动MongoDB进程,并且在后台运行。

2."mongod"参数有什么

传递数据库存储路径,默认是"/data/db"

端口号 默认是 "27017"

3.什么是"mongo"

它是一个命令行工具用于连接一个特定的mongod实例。当我们没有带参数运行mongo命令它将使用默认的端口号和localhost连接

首先MongoDB使用mmap方式进行数据文件管理,也就是说写操作基本是在内存中进行,写操作会被每隔60秒(syncdelay设定)的flush到磁盘里。如果在这60秒内flush处于停止事情我们进行kill -9那么从上次flush之后的写入数据将会全部丢失。

如果在flush操作进行时执行kill -9则会造成文件混乱,可能导致数据全丢了,启动时加了repair也无法恢复。

避免方法

第一种 使用正确的关闭方法

官方文档说明要使用 kill -15,killall mongod或者在client的shell里,use admin,执行db.shutdownServer()即可!

第二种

通过replication 使用 一个slave,或者用replica set 来避免单结点数据丢失。

第三种 1.7以后出现类似于binlog的功能

在 MongoDB 1.7 版本的最新分支上,就出现了一个新的数据可靠性选项(–dur)的支持。并且在数据文件修复工具上也有了一些改进。

如果在启动MongoDB时加上–dur 则MongoDB 会在进行写操作前记一份日志,这和在其他一些数据库中的binlog 类似,在MongoDB 数据文件损坏的情况下,可以使用此日志来进行恢复。据说其对性能的影响不大。

一.Mongodb在rancher上面部署:

命令如图:mongod --keyFile /data/key/keyfile --replSet rs --bind_ip localhost,prod

二.Mongodb在服务器上的配置keyfile

这个keyfile怎么生成的我也没试过,官网有一些解释但是没说具体怎么生成如图:

我们需要把这个文件放在:

这些添加好就可以互相添加服务了如图:

其实就是各个容器是不互相影响的,如何让他们在互通就需要互相添加你要用的服务

这个名称如果不配置就用默认的,看你要不要配置

Prod:

Master:

Slave:

三.Mongodb集群测试是否成功:

参考文献: https://www.yiibai.com/mongodb/mongodb_quick_guide.html

四.Mongodb管理界面mongo-express搭建

成功日志:

五.Mongodb整合对外端口搭建haproxy


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/467497.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-05
下一篇2023-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存