浅谈MongoDB的备份方式

1. MongoDB备份方式介绍

MongoDB是一个著名的NoSQL数据库,具有高效、高可靠性和高扩展性等特征,备份机制对于数据库的安全性很重要。

在 MongoDB 中,备份通常采用的方式是基于复制集(Replica Set)的备份和基于文件系统的备份。

2. MongoDB复制集备份

2.1 复制集简介

Replica Set 是 MongoDB 中的一种数据复制机制,通过将指定的数据副本分配到多个节点上实现数据的存储和备份。它可以为应用提供高可用性及数据冗余方案。

2.2 复制集备份步骤

复制集备份通常分为以下几个步骤:

1. 连接到 Primay 节点

mongo PrimaryNodeIP:27017

2. 切换到 admin 数据库并进行身份认证

use admin;

db.auth("admin","password");

3. 进行备份操作

mongodump -h PrimaryNodeIP: 27017 -u username -p password -d dbname -o /backup/mongoBU 

其中 -h 选项表示当前备份数据所在的主节点。

-u 选项表示 mongodb 数据库的用户名。

-p 选项表示 mongodb 数据库的密码。

-d 选项用于指定要备份的数据库名称。

-o 选项用于指向备份数据输出的目录。

4. 将备份数据导出到其他机器

scp -r /backup/mongoBU host@AnotherMachineIP:/backup/mongoBU

其中 -r 选项表示递归复制整个目录。

3. 基于文件系统的备份

3.1 基于文件系统备份的工具介绍

基于文件系统的备份通常使用 tar 、rsync 、lvm 快照等工具,其中 tar 是应用最广泛的一个。

3.2 基于 tar 工具的备份

1. 关闭 mongodb 服务

systemctl stop mongod

2. 进行备份操作:

tar -zcvf /backup/mongodump`date +%m%d%Y`.tar.gz /var/lib/mongo/

这样就会将 /var/lib/mongo/ 目录下的所有数据压缩为一个 mongodump.tar.gz 文件,后面的 date +%m%d%Y 表示将当前日期格式化为月/日/年的形式,最终结果如 mongodump11252021.tar.gz。

3. 启动 mongodb 服务

systemctl start mongod

4. 总结

以上就是 MongoDB 的两种备份方式介绍,分别是基于复制集和基于文件系统的备份。其中基于复制集的备份适用于数据较大、环境比较复杂的情况,而基于文件系统备份适用于数据规模较小、对备份速度要求较高的情况。

数据库标签