目录
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