MongoDB 复制(副本集)学习笔记


本文整理自网络,侵删。

本文实例讲述了MongoDB 复制(副本集)。分享给大家供大家参考,具体如下:

replication set复制集,
复制集,多台服务器维护相同的数据副本,提高服务器的可用性。
MongoDB复制是将数据同步在多个服务器的过程。
复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。
复制还允许您从硬件故障和服务中断中恢复数据。

设置过程:

(1)创建示例

假设创建三台,创建三个实例目录和日志目录:
mkdir /home/m17 /home/m18 /home/m19 /home/mlog
启动三个示例,端口分别为27017、27018、27019。

./mongod --dbpath=/home/m17 --logpath=/home/mlog/m17.log --fork --port=27017 --replSet=rs2 --smallfiles
./mongod --dbpath=/home/m18 --logpath=/home/mlog/m18.log --fork --port=27018 --replSet=rs2 --smallfiles
./mongod --dbpath=/home/m19 --logpath=/home/mlog/m19.log --fork --port=27019 --replSet=rs2 --smallfiles

说明:

参数--replSet设置一样,才能属于同一个复制集
参数--smallfiles可以节省空间,提高速度。

然后使用ps aux | grep mongo可以查看到启动起来的三个端口。

(2)配置

使用客户端连接mongo进行配置:

[test@localhost bin]$ ./mongo

要管理配置,所以切换到admin上:

>use admin

(配置是json格式)

var rsconf = {
_id:'rs2',
members:[
{"_id":0,host:'192.168.8.172:27017'},
{_id:1,host:'192.168.8.172:27018'},
{_id:2,host:'192.168.8.172:27019'}
]
}

如果没有配置ip,使用127.0.0.1

var rsconf = {
_id:'rs2',
members:[
{_id:0,host:'127.0.0.1:27017'},
{_id:1,host:'127.0.0.1:27018'},
{_id:2,host:'127.0.0.1:27019'}
]
}

执行后,使用 printjson(rsconf)查看刚才的配置。

然后执行初始化:

>rs.initiate(rsconf);
> rs.initiate(rsconf);
{
"ok" : 1,
"operationTime" : Timestamp(1539933041, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1539933041, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
rs2:SECONDARY>

查看节点:

rs.status()

删除节点:

rs.remove('127.0.0.1:27019')

添加节点:

rs.add('127.0.0.1:27019')

切换节点:

阅读剩余部分

相关阅读 >>

mongodb实现增删改查

mongodb中常用的语句总结

php中mongodb数据库的连接、添加、修改、查询、删除等操作实例

mongodb教程之入门基础知识

mongodb特点与体系结构等简介

mongodb安全配置详解

如何在mongodb中创建和删除数据库

mongodb多表关联查询操作实例详解

关于对mongodb索引的一些简单理解

mongodb入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)

更多相关阅读请进入《mongodb》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...