本文整理自网络,侵删。
本文实例讲述了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')
切换节点:
相关阅读 >>
php中mongodb数据库的连接、添加、修改、查询、删除等操作实例
mongodb入门教程(包含安装、常用命令、相关概念、使用技巧、常见操作等)
更多相关阅读请进入《mongodb》频道 >>

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