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