mongodb复制集里查看主从操作日志oplog
MongoDB的replica set架构是通过一个日志来存储写操作的,这个日志就叫做 oplog 。oplog.rs 是一个固定长度的 Capped Collection,它存在于local数据库中,用于记录replicaSets操作日志。在默认情况下,对于64位的MongoDB,oplog是比较大的,可以达到5%的磁盘空间,oplog的大小是可以通过mongod的参数 “ -oplogSize”来改变oplog的日志大小。
oplog内容样例:
> use local
> show collections
> db.oplog.rs.find()
新版有个问题,无法再像旧版一样直接操作了,必须先添加一个管理员用户,之后切换到管理员身份,再进行操作,具体可以见日志。
rs1:PRIMARY> show dbsshow dbs
2016-07-22T17:44:25.491+0800 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:761:19
shellHelper@src/mongo/shell/utils.js:651:15
@(shellhelp2):1:1
rs1:PRIMARY> use localuse local
switched to db local
rs1:PRIMARY> show collectionsshow collections
2016-07-22T17:44:40.317+0800 E QUERY [thread1] Error: listCollections failed: {
"ok" : 0,
"errmsg" : "not authorized on local to execute command { listCollections: 1.0, filter: {} }",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:773:1
DB.prototype.getCollectionInfos@src/mongo/shell/db.js:785:19
DB.prototype.getCollectionNames@src/mongo/shell/db.js:796:16
shellHelper.show@src/mongo/shell/utils.js:754:9
shellHelper@src/mongo/shell/utils.js:651:15
@(shellhelp2):1:1
rs1:PRIMARY> use adminuse admin
switched to db admin
rs1:PRIMARY> db.createUser(db.createUser(
... { {
... user: "bbb", user: "bbb",
... pwd: "bbb", pwd: "bbb",
... roles: [ { role: "root", db: "admin" } ] roles: [ { role: "root", db: "admin" } ]
... } }
... ) )
Successfully added user: {
"user" : "bbb",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
rs1:PRIMARY> show dbsshow dbs
2016-07-22T17:45:54.756+0800 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:761:19
shellHelper@src/mongo/shell/utils.js:651:15
@(shellhelp2):1:1
rs1:PRIMARY> db.auth('bbb','bbb')db.auth('bbb','bbb')//此处认证过了才可以操作
1
rs1:PRIMARY> use localuse local
switched to db local
rs1:PRIMARY> show collectionsshow collections
me
oplog.rs
replset.election
startup_log
system.replset
rs1:PRIMARY> db.oplog.rs.find()db.oplog.rs.find()
{ "ts" : Timestamp(1469180416, 1), "h" : NumberLong("6313428569778261950"), "v" : 2, "op" : "n", "ns" : "", "o" : { "msg" : "initiating set" } }
{ "ts" : Timestamp(1469180428, 2), "t" : NumberLong(1), "h" : NumberLong("2174888517165095400"), "v" : 2, "op" : "n", "ns" : "", "o" : { "msg" : "new primary" } }
{ "ts" : Timestamp(1469180731, 1), "t" : NumberLong(1), "h" : NumberLong("-1515174104405674576"), "v" : 2, "op" : "c", "ns" : "admin.$cmd", "o" : { "create" : "system.version" } }
{ "ts" : Timestamp(1469180731, 2), "t" : NumberLong(1), "h" : NumberLong("7948077691112953460"), "v" : 2, "op" : "i", "ns" : "admin.system.version", "o" : { "_id" : "authSchema", "currentVersion" : 5 } }
{ "ts" : Timestamp(1469180731, 3), "t" : NumberLong(1), "h" : NumberLong("-9003778602149648332"), "v" : 2, "op" : "c", "ns" : "admin.$cmd", "o" : { "create" : "system.users" } }
{ "ts" : Timestamp(1469180731, 4), "t" : NumberLong(1), "h" : NumberLong("-5105507245190417325"), "v" : 2, "op" : "i", "ns" : "admin.system.users", "o" : { "_id" : "admin.bbb", "user" : "bbb", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "9hPZ67Nn1d9ZFSKfxfPmHw==", "storedKey" : "wbVBdAFG3tKPU0QwgoqA93XaSFY=", "serverKey" : "0FXoMrw01NIiYr8HNZ9p5mGhK8k=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] } }
rs1:PRIMARY>
查看master的oplog元数据信息:
> db.printReplicationInfo()
查看salve的同步状态:
> db.printSlaveReplicationInfo()
rs1:PRIMARY> db.printReplicationInfo()db.printReplicationInfo()
configured oplog size: 2124.869140625MB
log length start to end: 315secs (0.09hrs)
oplog first event time: Fri Jul 22 2016 17:40:16 GMT+0800 (CST)
oplog last event time: Fri Jul 22 2016 17:45:31 GMT+0800 (CST)
now: Fri Jul 22 2016 17:52:59 GMT+0800 (CST)
rs1:PRIMARY> db.printSlaveReplicationInfo() db.printSlaveReplicationInfo()
source: localhost:28011
syncedTo: Fri Jul 22 2016 17:45:31 GMT+0800 (CST)
0 secs (0 hrs) behind the primary
source: localhost:28012
syncedTo: Fri Jul 22 2016 17:45:31 GMT+0800 (CST)
0 secs (0 hrs) behind the primary
rs1:PRIMARY>
mongodb复制集里查看主从操作日志oplog的更多相关文章
- MongoDB复制集的工作原理介绍(二)
复制集工作原理 1)数据复制原理 开启复制集后,主节点会在 local 库下生成一个集合叫 oplog.rs,这是一个有限集合,也就是大小是固定的.其中记录的是整个mongod实例一段时间内数据库的所 ...
- MongoDB复制集概念架构浅析
一.复制集的作用 (1) 高可用 防止设备(服务器.网络)故障. 提供自动failover 功能. 技术来保证数 (2) 灾难恢复 当发生故障时,可以从其他节点恢复. (3) 功能隔离 用于分析.报表 ...
- mongodb复制集Replica Set使用简介
MongoDB高可用 对于MongoDB,可以支持使用单机模式提供服务,但是在实际的生产环境中,单机模式将面临很大的风险,一旦这个数据库服务出现问题,就会导致线上的服务出现错误甚至崩溃.因此,在实际生 ...
- MongoDb复制集实现故障转移,读写分离
前言 数据库技术是信息系统的一个核心技术,发展很快,各种功能类型数据库层出不穷,之前工作中使用过关系型数据库(mysql.oracle等).面相对象数据库(db4o).key-value存储(Memc ...
- MongoDB 复制集 (一) 成员介绍
一 MongoDB 复制集简介 MongoDB的复制机制主要分为两种: Master-Slave (主从复制) 这个已经不建议使用 ...
- MongoDB复制集之将现有的单节点服务器转换为复制集
服务器情况: 现有的单节点 Primary 192.168.126.9:27017 新增的节点 Secondry 192.168.126.8:27017 仲裁节点 ...
- MongoDB复制集
1.1 MongoDB复制集简介 一组Mongodb复制集,就是一组mongod进程,这些进程维护同一个数据集合.复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础. 1.1.1 复制集的目的 ...
- MongoDB 复制集节点增加移除及节点属性配置
复制集(replica Set)或者副本集是MongoDB的核心高可用特性之一,它基于主节点的oplog日志持续传送到辅助节点,并重放得以实现主从节点一致.再结合心跳机制,当感知到主节点不可访问或宕机 ...
- MongoDB实战指南(七):MongoDB复制集之复制集工作机制
http://www.cnblogs.com/longshiyVip/p/5097336.html 概述了复制集,整体上对复制集有了个概念,但是复制集最重要的功能之——自动故障转移是怎么实现的呢?数据 ...
随机推荐
- 【Hive】Hive笔记:Hive调优总结——数据倾斜,join表连接优化
数据倾斜即为数据在节点上分布不均,是常见的优化过程中常见的需要解决的问题.常见的Hive调优的方法:列剪裁.Map Join操作. Group By操作.合并小文件. 一.表现 1.任务进度长度为99 ...
- Tomcat注入到系统服务中,实现服务自启动及常驻
步骤一.打开service.bat 并修改(推荐notepad++): 1.set SERVICE_NAME=Tomcat6(服务名称,可在命令行中通过该名字进行服务的控制(启动/关闭)) 2.se ...
- 宝塔Linux 8888 进不去
一.前言 导致该问题的原因是 Python 版本问题,可能是您更新了 python 的问题.参考宝塔问题的解决方案做的小结.仅供自己做笔记,不作其他用途. 二.解决方案 1.进入shell 命令行,输 ...
- E20190324-hm
splice vt. 绞接; 捻接(两段绳子); 胶接; 粘接(胶片.磁带等); n. 胶接处,粘接处,铰接处;
- hdu1847(sg函数&yy)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847 题意:中文题诶- 思路:直接sg函数打表即可,观察打表的结果发现是有规律的,sg函数的值只为0, ...
- [Xcode 实际操作]九、实用进阶-(6)在Swift文件中调用Object-C的类和方法
目录:[Swift]Xcode实际操作 本文将演示在Swift文件中调用Object-C的类和方法. 在项目文件夹[DemoApp]上点击鼠标右键 ->[New File]创建一个Object- ...
- APP上传
原文网址: http://blog.csdn.net/ayangcool 前言:作为一名IOS开发者,把开发出来的App上传到App Store是必须的.下面就来详细介绍下具体流程. 1.打开苹果开发 ...
- 最长XX序列问题小结 By cellur925
今天我们搞一搞几个经典序列问题之间的爱♂恨♂情♂仇. 首先我们看一看LIS(最长上升子序列)(From my onenote)
- html table导出到Excel中,不走后台,js完成
静态表格table <table class="table tableStyles" id="tables"> <caption>不正经 ...
- Java EE规范下载