MongoDB部署、备份、恢复

目录
MongoDB数据库搭建 2
MongoDB4.0以后没有主从复制 2
1)在数据库集群中要明确的知道谁是主服务器,主服务器只有一台. 2
2)从服务器要知道自己的数据源也就是对应的主服务是谁. 2
3)–master用来确定主服务器,–slave 和 --source 来控制从服务器 2
config 主服务配置文件编写 2
config 从服务配置文件编写 3
副本集 4
复制集的配置文件编写 4
在所有节点启动 mongod 服务 5
登录客户端,访问主节点 6
初始化复制集 6
查看复制集状态 7
查看当前节点是否为主节点 7
数据连接 9
MongoDB备份 10
使用 mongodump 10
备份整个数据库 11
增量备份数据库 11
全量备份脚本 11
增量备份脚本 14
数据恢复 18
linux定时执行 19

MongoDB数据库搭建

下载地址:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz

解压安装:tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgz

主从模式

MongoDB4.0以后没有主从复制

主从复制是MongoDB最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址。采用双机备份后主节点挂掉了后从节点可以接替主机继续服务。

配置主从复制的注意点

1)在数据库集群中要明确的知道谁是主服务器,主服务器只有一台.

2)从服务器要知道自己的数据源也就是对应的主服务是谁.

3)–master用来确定主服务器,–slave 和 --source 来控制从服务器

config 主服务配置文件编写

#数据保存路径

dbpath=/home/mongodb/data/master/

#日志保存路径

logpath=/home/mongodb/logs/master/mongo.log

#进程描述文件

pidfilepath=/home/mongodb/pids/master/mongo.pid

master=true

#日志追加写入

logappend=true

bind\_ip=172.11.10.14

#mongo默认端口

port=27017

#操作日志容量

oplogSize=10000

#开启子进程

fork=true

config 从服务配置文件编写

#数据保存路径

dbpath=/home/mongodb/data/slave/

#日志保存路径

logpath=/home/mongodb/logs/slave/mongo.log

#进程描述文件

pidfilepath=/home/mongodb/pids/slave/mongo.pid

slave=true

#日志追加写入

logappend=true

bind\_ip=172.11.10.14

#mongo默认端口

port=27018

#操作日志容量

oplogSize=10000

#开启子进程

fork=true

#配置主的ip和端口

source=172.11.10.14:27017

副本集

副本集(Replica Set):

通俗的说,副本集就是集群,主从复制,读写分离,故障切换。

副本集是Mongodb原来的主从模式的升级版本,官方已经不再推荐使用主从模式。

MongoDB的副本集与主从有所不同,主从在主机宕机后所有服务将停止,而副本集在主机宕机后,副本会接管主节点成为主节点,不会出现宕机的情况。

mongodb的复制至少需要两个节点。其中一个是主节点,负责处理客户端请求,其余的都是从节点,负责复制主节点上的数据。

mongodb各个节点常见的搭配方式为:一主一从、一主多从。

主节点记录在其上的所有操作oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。

复制集的配置文件编写

多个服务复制配置文件,修改dbPath数据目录、path日志文件名,port服务端口号

systemLog:

#MongoDB发送所有日志输出的目标指定为文件

 destination: file

#mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径

 path: "/home/mongo/logs/config1.log"

#当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。

 logAppend: true

storage:

#mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。

 dbPath: "/home/mongo/data/config1"

 journal:

#启用或禁用持久性日志以确保数据文件保持有效和可恢复。

 enabled: true

processManagement:

#启用在后台运行mongos或mongod进程的守护进程模式。

 fork: true

net:

#服务实例绑定的IP,默认是localhost

 bindIp: 0.0.0.0

#bindIp

#绑定的端口,默认是27017

 port: 17017

replication:

 replSetName: rs1

sharding:

 clusterRole: rs1

在所有节点启动 mongod 服务

[root@localhost mongo]# /home/mongo/bin/mongod -f /home/mongo/conf/master.conf

about to fork child process, waiting until server is r
  • 19
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值