mongoDB有一个主要特性就是复制,有多种复制形式,其中,主从复制是比较常用的一种。
主从复制的工作原理:首先要有两个或更多的服务器,其中一个是主节点,负责处理客户端的请求,其他的都是从节点,负责映射主节点的数据。主节点记录在其上执行的所有操作,从节点定期轮询主节点获得的这些操作,然后执行这些操作。由于从节点和主节点执行了相同的操作,从节点就能保持与主节点的数据同步。
简单概括就是:主节点完成数据写入操作,从节点完成数据复制、为读取提供数据。这样实现的好处:1.实现读写分离、降低了主节点的压力。2.做了数据备份,增强了安全性。 还有一个缺点:主节点宕机,系统不可用。
搭建mongodb主从复制比较简单:
主节点:bin>mongod --dbpath=主节点的数据库路径 --port=27017 --master
从节点:bin>mongod --dbpath=从节点的数据库路径 --port=27007 --slave --source=主节点ip:主节点端口号
主节点的数据库安装在mongodb\db中:
从节点的数据安装在mongodbSlave\data\db中:
通过客户端分别连接两个服务器:
现在,从服务器中已经存在了主服务器中所有数据库以及数据。(数据是之前已经写入到27017,也就是主服务器里的)