mongodb
久违的太阳
本人base南京,10+年oracle dba经验,Postgresql PCP认证工程师
oracle日常维护、故障解决、性能优化、数据库迁移、数据库升级
PG安装维护,迁移
国产信创数据库迁移,数据抽取,数据共享等,联系私信我
展开
-
centos6.4下安装mongodb-3.2.6
1.下载下载地址: https://www.mongodb.com/download 选择社区linux版本,下载最新的,目前最新的即为3.2.6或者直接用curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.6.tgz2.解压缩文件下载下来的文件是二进制版本类似于mysql的general版原创 2016-05-14 21:21:41 · 2174 阅读 · 0 评论 -
mongodb分片介绍
1.mongodb集群架构mongodb通过配置sharded cluster实现sharding.sharded cluster有如下几个组件:分片(shards),查询路由器(query router)和配置服务器(config servers):shards存储实际数据,为了提高高可用,每个shards可以配置为复制集replica sets,原创 2016-06-21 14:38:15 · 1807 阅读 · 2 评论 -
mongodb 等待写入复制
如果希望不管发生什么都将写入操作保存到副本集中,那么必须要确保写入操作被同步到副本集的"大多数"可以使用getLastError命令来检查写入是否成功,有一个特殊的关键字"w"就是"majority"rs0:PRIMARY> db.runCommand({"getLastError":1,"w":"majority"}){ "lastOp" : { "ts" : Timestam原创 2016-06-14 22:19:09 · 762 阅读 · 0 评论 -
mongodb备份恢复
备份mmongodb的方式多种多样,下面介绍几种备份方式一.复制数据文件复制数据库目录的所有文件,在复制的时候防止数据文件的改变,可以使用fsyncLock()命令来锁定数据库,禁止任何写入.> db.fsyncLock(){ "info" : "now locked against writes, use db.fsyncUnlock() to unlock", "s原创 2016-06-28 20:48:11 · 2953 阅读 · 2 评论 -
修改oplogsize导致无法启动mongodb
1.故障现象mongodb数据库启用了master-slave,修改配置文件oplogsize后,mongodb无法启动2.故障分析查看mongod.log日志发现出现如下关键字:2016-06-06T23:03:16.752+0800 I REPL [initandlisten] cmdline oplogsize (2048) different tha原创 2016-06-07 00:30:04 · 2213 阅读 · 0 评论 -
mongodb master-slave主从复制
mongodb的复制使用的oplog,类似于mysql复制的binlog,不同的是oplog是保存在local数据库中的.需要合理的设置oplog的大小,如果此大小没有设置那么mongodb将会使用可用空间的5%来存放oplog.官方建议64位系统至少分配1G大小.当slave端落后太多master端的时候,复制会终止,此时需要管理员手工来重启mongodb然后使用resync来重新同步.原创 2016-06-07 00:24:18 · 6296 阅读 · 0 评论 -
mongodb基础-索引
1.索引介绍mongodb的索引和我们遇到的rdbms的索引含义一样,原理也基本一样首先我们先在一个没有索引的集合上做一个查询,具体的查询计划可以通过explain()函数获取:> db.t1.find({"username":"user101"}).explain(){ "queryPlanner" : { "plannerVersion" : 1, "names原创 2016-05-22 22:08:53 · 10995 阅读 · 0 评论 -
mongodb用户安全认证详解
一..验证介绍mongodb支持针对连接的用户验证,使用参数auth打开验证功能:[root@mongodb2 ~]# mongod -h |grep aut --keyFile arg private key for cluster authentication --noauth原创 2016-06-24 22:21:54 · 7045 阅读 · 2 评论 -
mongodb高级操作(2)-查询
1.查询文档find介绍mongodb中使用find来进行查询.find的第一个参数决定了要返回哪些文档,这个参数是一个文档,用于指定查询条件.如果不指定条件默认就是{},那么就是查询所有文档.> db.test.find(){ "_id" : ObjectId("573c858c323f7f2e2ccb0e17"), "name" : "brent", "age" :原创 2016-05-21 21:43:17 · 17379 阅读 · 0 评论 -
mongodb replica sets复制集详解
一.replica sets介绍一个复制集是一组包含相同数据集的mongod实例.一个复制集只能有一个是primary节点,其它的节点为secondary节点.和主从复制的原理一样,复制集也是通过读取oplog来进行数据传输.oplog是一个capped collection即固定表,创建表的时候可以指定其大小,当oplog满的时候会删除旧的数据.所以设置oplog的大小非常重要,如果原创 2016-06-07 21:55:05 · 10363 阅读 · 1 评论 -
mongodb sharding Tag控制数据分片
mongodb可以手工设置数据在哪个分片,这非常有用,例如对于一些日志集合,我们只希望运行在等级比较低的服务器上.mongodb使用sh.addShardTag()函数为shard打上标记,然后使用sh.addTagRange()函数来手工分配指定的数据到指定的分片中,例如:下面这个例子中,原来的50072这个分片在shard0001上,我们想把这个分片指定到shard00原创 2016-06-23 20:32:24 · 4247 阅读 · 0 评论 -
mongodb sharding config数据库集合介绍
集群的嗦哦有的配置信息都保存在配置服务器上的config数据的集合中,可以直接访问该数据库,不过shell提供了一些辅助函数,通过这些函数更适合阅读信息,不过你还是可以通过查询config数据库的方式来获取集群的元数据.总的来说,不应该直接修改config数据库里的任何数据,特殊情况除外,如果修改的数据,一般要重启所有的mongos服务器才能看到效果.1.config.shards原创 2016-06-23 23:12:51 · 1543 阅读 · 0 评论 -
mongodb高级操作(1)-update
前面我们已经介绍了mongodb的基本操作:mongodb基本操作下面是介绍一些高级的增删改查操作.1.更新文档文档替换最简单的方法就是文档完全替换,如下就是一个完全替换的例子,先把需要更新的文档找出来并且赋值,然后修改所赋的值,最后再进行update:> a1=db.test.findOne(){ "_id" : ObjectId("5738785d1原创 2016-05-19 00:50:59 · 10344 阅读 · 0 评论 -
mongodb增删改查基本操作
mongodb中的数据结构和rdbms database中的对应关系如下:SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档co原创 2016-05-15 19:49:34 · 1242 阅读 · 0 评论 -
mongodb分片部署和管理
一.部署分片集群在3.2版本中,官方建议对所有生产的config server和shard server都使用复制集.其中config server对复制集有如下要求:1.必须没有仲裁节点2.必须没有延时节点3.必须创建索引,即没有节点配置buildIndex为false我们这里用来测试就搭建复制集了.新部署一个分片集群包括4步骤:1.部署c原创 2016-06-22 20:35:58 · 10488 阅读 · 1 评论