什么是复制
复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性,并可以保证数据的安全性
复制还允许从硬件故障和服务中断中恢复数据 为什么要复制
数据备份
数据灾难恢复
读写分离
高(24* 7)数据可用性
无宕机维护
副本集对应用程序是透明
mongoDB主从备份:
- 可以设置一个主节点,多个从节点。主节点有读写的权限,从节点只有读的权限,没有写的权限。主从节点数据同步。
- 当主节点发生宕机,系统会根据从节点谁先执行把最先执行的从节点设置成主节点。
主从备份
- 打开三个服务器(一台电脑,可以指定不同的端口号设置多个服务器)
mongod --bind_ip 192.168.1.118 --port 27017 --dbpath ~/桌面/test --replSet rs0
mongod --bind_ip 192.168.1.118 --port 27018 --dbpath ~/桌面/test1 --replSet rs0
mongod --bind_ip 192.168.1.118 --port 27019 --dbpath ~/桌面/test2 --replSet rs0
- 打开客户端,分别连接以上三个服务器
mongo --host 192.168.1.118 --port 27017
mongo --host 192.168.1.118 --port 27018
mongo --host 192.168.1.118 --port 27019
- 确定主服务器:确定了谁是主服务器,就在那个上面初始化,以192.168.1.118 --port 27017为主服务器
打开端口号为27017的客户端:
输入:rs.initiate()
- 添加副本集 直接使用rs.add('ip地址:端口号’)来添加从服务连接
在27017客户端添加:
rs.add('192.168.1.118:27018’)
rs.add('192.168.1.118:27019’)
- 分别切换到从服务连接窗口
输入:
rs.slaveOk()
- 这时候MongoDB的主从配置完成,我们可以在主服务器插入数据,在从服务器查看是否备份。