返回顶部
首页 > 资讯 > 数据库 >MongoDB中怎么修改oplogSize
  • 198
分享到

MongoDB中怎么修改oplogSize

2024-04-02 19:04:59 198人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关mongoDB中怎么修改oplogSize,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、关闭此节点并以单实例启动 

这篇文章将为大家详细讲解有关mongoDB中怎么修改oplogSize,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

1、关闭此节点并以单实例启动 

1.1关闭节点进程

SECONDARY> db.shutdownServer()

1.2注销Replica set相关启动参数

并修改port端口号(假设原来是27001,现改为37001)

MongoDB中怎么修改oplogSize

MongoDB中怎么修改oplogSize

1.3 重新启动

/apps/monGodb/bin/mongod -f /data/johnny/cfg/shard1.cnf

2、备份节点oplog日志

全备当前节点的所有oplog记录

mongodump --port 37001 --db local --collection 'oplog.rs'

     备份oplog.rs中最近的一条oplog记录

>use local
>db.optmp.drop()     ---清空临时表,存放oplog最近一条记录
>db.optmp.save(db.oplog.rs.find( { }, { ts: 1, h: 1 } ).sort( {$natural : -1} ).limit(1).next() )     ---将最近一条记录存放到临时集合中
>db.optmp.find()     ---验证是否记录已存入
{ "_id" : ObjectId("5a0d437ed4738d194fa0b94f"), "ts" : Timestamp(1510389543, 1), "h" : NumberLong("-2633465233485407995") }

3、修改oplogSize

     删除原oplog.rs集合

>use local
>db.oplog.rs.drop()

     创建新oplog.rs集合

> db.runCommand( { create: "oplog.rs", capped: true, size: (2 * 1024 * 1024 * 1024) } )
{ "ok" : 1 }          ---成功的话将返回ok

4、还原之前备份的最近一条记录

> db.oplog.rs.save(db.optmp.findOne())
> db.oplog.rs.find()          ---查询验证是否已插入

5、重新加入副本集

5.1 关闭当前单实例进程

>db.shutdownServer()

5.2 恢复配置文件信息

(注意oplogSizeMB参数值的修改)

MongoDB中怎么修改oplogSize

MongoDB中怎么修改oplogSize

 5.3 启动实例进程

/apps/mongodb/bin/mongod -f /data/johnny/cfg/shard1.cnf

6、检查节点状态

登录到mongo shell中检查节点是否成功加入副本集架构

>rs.status()
     检查oplogSize是否生效(红色字体)
SECONDARY> rs.printReplicationInfo()
configured oplog size:   2048MB
log length start to end: 0secs (0hrs)
oplog first event time:  Sat Nov 11 2017 16:39:03 GMT+0800 (CST)
oplog last event time:   Sat Nov 11 2017 16:39:03 GMT+0800 (CST)
now:                     Thu Nov 16 2017 17:00:32 GMT+0800 (CST)

7、根据上述步骤依次修改副本集的其他成员的oplogSize参数

注:修改Primary节点时,记得先使用如下命令降级,然后再修改

Primary>rs.stepDown()          ---可以更有效的产生选举

方法二:

3.6版本后支持的动态修改方法

1.修改之前的参数大小:

replication:
   oplogSizeMB: 1024
   replSetName: shardrs1

登录到mongo shell后查看oplog.rs集合大小

> use local
switched to db local
> db.oplog.rs.stats().maxSize
NumberLong(1073741824)    ---单位bytes,即2014MB

2.通过管理命令修改

> use local
switched to db local
> db.adminCommand({replSetResizeOplog:1, size: 2048});    ---2048的单位也MB
{
    "ok" : 1,
    "operationTime" : Timestamp(1537776585, 1),
    "$clusterTime" : {
        "clusterTime" : Timestamp(1537776585, 1),
        "signature" : {
            "hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
            "keyId" : NumberLong(0)
        }
    }
}

3.验证是否成功

> db.oplog.rs.stats().maxSize
NumberLong("2147483648")

至此我们的oplog size动态修改完毕,是不是很简单,是不是很easy?

思考:

  • 问1:replSetResizeOplog命令会不会同时修改了replication.oplogSizeMB参数值呢?

  • 答:我此时查看启动配置文件,发现oplogSizeMB依然是1024;

  • 问2:重启后会不会配置文件中的参数值就更改为修改值了呢?

  • 答:重新启动数据库实例后,我发现并没有,还是最初值

  • 问3:那么重启后,新修改值会失效吗?

  • 答:我再次发现并没有,仍然使用最新值

shardrs1:PRIMARY> db.oplog.rs.stats().maxSize
NumberLong("2147483648")

关于MongoDB中怎么修改oplogSize就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB中怎么修改oplogSize

本文链接: https://lsjlt.com/news/56458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MongoDB中怎么修改oplogSize
    这篇文章将为大家详细讲解有关MongoDB中怎么修改oplogSize,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、关闭此节点并以单实例启动 ...
    99+
    2024-04-02
  • MongoDB主从模式如何修改主库的oplogsize
    MongoDB主从模式如何修改主库的oplogsize,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如果是集群分片环境建议使用官方方法:htt...
    99+
    2024-04-02
  • mongodb怎么修改数据
    修改 mongodb 数据的过程涉及使用 update() 或 updateone() 方法。update() 方法用于更新多个文档,其语法为:db.collection.update(...
    99+
    2024-04-08
    mongodb
  • MongoDB 中怎么修改用户密码
    本篇文章为大家展示了MongoDB 中怎么修改用户密码,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。    1、登陆mongodb数据库集群主库...
    99+
    2024-04-02
  • 怎么在mongodb中修改字段名
    在mongodb中修改字段名的方法:1.启动mongodb;2.登录mongodb数据库;3.进入数据库;4.执行命令修改;具体步骤如下:首先,在命令行中启动mongodb服务;net start MongoDBmongodb服务启动后,在...
    99+
    2024-04-02
  • mongodb怎么修改集合名称
    要修改MongoDB中的集合名称,可以使用db.collection.renameCollection()方法。以下是如何修改集合名...
    99+
    2024-04-09
    mongodb
  • mongodb怎么修改数据库名称
    要修改MongoDB中的数据库名称,可以按照以下步骤进行操作: 连接到MongoDB服务器。 切换到要修改的数据库。 运行命令`d...
    99+
    2023-10-27
    mongodb 数据库
  • MongoDB修改集合中数据
    1.查看集合 show collections2.查看集合中数据 db.runoob.find()3.修改集合中数据 db.runoob.update({'title':'test&...
    99+
    2024-04-02
  • MongoDB中修改器的使用
    再使用Mongodb的过程中,通常文档都会只有一部分需要更新,可以使用MongoDB中原子性的更新修改器。更新修改器是种特殊的键,用来指定复杂的更新操作,比如修改、增加或者删除键,还可能是操作数组或者内嵌文...
    99+
    2024-04-02
  • linux安装mongodb怎么修改配置文件
    要修改MongoDB的配置文件,你需要按照以下步骤进行操作: 打开终端,并使用文本编辑器(如vi、nano等)以管理员身份打开Mo...
    99+
    2024-04-09
    linux mongodb
  • mongodb中如何修改字段数据
    要修改MongoDB中的字段数据,可以使用update方法来更新文档。以下是一个简单的示例: 假设有一个名为users的集合,其中包...
    99+
    2024-04-09
    mongodb
  • mongodb如何修改密码
    mongodb修改密码的方法:在mongodb中可以使用db.changeUserPassword()和db.updateUser()方法修改指定用户的密码,需要注意的是该方法要连接mongodb数据库后使用。具体内容如下:首先通...
    99+
    2024-04-02
  • mongodb如何修改数据
    mongodb中修改数据的方法:1、使用db.collection.update()方法来修改更新集合中已存在满足条件的文档数据;2、使用db.collection.save()方法来修改替换一个已存在的文档数据。具体内容如下:使用upda...
    99+
    2024-04-02
  • mongodb怎么更改库名
    mongodb更改库名的方法:1、使用db.copyDatabase()方法拷贝数据库后,再通过db.dropDatabase()方法删除旧数据库来实现更改库名操作;2、使用renameCollection命令进行mongodb更改库名操作...
    99+
    2024-04-02
  • mongodb如何修改字段名
    mongodb中修改字段名的方法:在mongodb中可以使用db.collection.update()方法来修改某集合的字段名;语法格式:“db.collection.update(criteria,objNew,upsert,...
    99+
    2024-04-02
  • 如何修改mongodb的配置
    要修改MongoDB的配置,可以按照以下步骤进行操作:1. 打开MongoDB的配置文件。在配置文件中,通常可以找到以下几个常用的配...
    99+
    2023-08-31
    mongodb
  • MongoDB修改集合中多条数据信息
    1.查看集合 show collections2.查看集合中数据 db.runoob.find().pretty()3.修改集合中多条数据 db.runoob.update( {'title...
    99+
    2024-04-02
  • ubuntu 中怎么修改源
    ubuntu 中怎么修改源,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。# sudo vim /etc/apt/sources.listdeb...
    99+
    2023-06-05
  • sql中怎么修改列
    sql 中修改表列涉及两个步骤:首先,可通过 alter table 语句添加、删除或重命名列;其次,可使用 modify 子句修改列属性(数据类型、约束、默认值等)。这些属性包括 no...
    99+
    2024-05-15
  • mongodb中怎么实现增删改查操作
    这篇文章给大家介绍mongodb中怎么实现增删改查操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一: Insert操作上一篇也说过,文档是采用“K-V”格式存储的,如果大...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作