MongoDB备份
副本集备份
一、下载安装包
https://www.mongodb.com/try/download/database-tools
# 下载安装包
[root@taiguli-middleware ~]# wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.9.4.tgz
--2024-04-12 16:38:48-- https://fastdl.mongodb.org/tools/db/mongodb-database-tools-rhel70-x86_64-100.9.4.tgz
正在解析主机 fastdl.mongodb.org (fastdl.mongodb.org)... 18.172.112.53, 18.172.112.108, 18.172.112.122, ...
正在连接 fastdl.mongodb.org (fastdl.mongodb.org)|18.172.112.53|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:61520536 (59M) [binary/octet-stream]
正在保存至: “mongodb-database-tools-rhel70-x86_64-100.9.4.tgz”
100%[===================================================================================================================================================================>] 61,520,536 4.62MB/s 用时 13s
2024-04-12 16:39:02 (4.56 MB/s) - 已保存 “mongodb-database-tools-rhel70-x86_64-100.9.4.tgz” [61520536/61520536])
#解压
[root@taiguli-middleware ~]# tar -xvf mongodb-database-tools-rhel70-x86_64-100.9.4.tgz
[root@taiguli-middleware ~]# cd mongodb-database-tools-rhel70-x86_64-100.9.4/
[root@taiguli-middleware mongodb-database-tools-rhel70-x86_64-100.9.4]# ll
总用量 192
drwxr-xr-x 2 root root 148 4月 12 16:39 bin
-rw-r--r-- 1 root root 554 12月 8 00:17 LICENSE.md
-rw-r--r-- 1 root root 3118 12月 8 00:17 README.md
-rw-r--r-- 1 root root 184821 12月 8 00:17 THIRD-PARTY-NOTICES
[root@taiguli-middleware mongodb-database-tools-rhel70-x86_64-100.9.4]# cd bin/
[root@taiguli-middleware bin]# ll
总用量 123268
-rwxr-xr-x 1 root root 13736336 12月 8 00:17 bsondump
-rwxr-xr-x 1 root root 16181400 12月 8 00:17 mongodump
-rwxr-xr-x 1 root root 15872400 12月 8 00:17 mongoexport
-rwxr-xr-x 1 root root 16720960 12月 8 00:17 mongofiles
-rwxr-xr-x 1 root root 16123928 12月 8 00:17 mongoimport
-rwxr-xr-x 1 root root 16512440 12月 8 00:17 mongorestore
-rwxr-xr-x 1 root root 15741584 12月 8 00:17 mongostat
-rwxr-xr-x 1 root root 15317064 12月 8 00:17 mongotop
[root@taiguli-middleware bin]#
二、备份
1、mongoexport 可以指定集合中的字段, mongodump最多到集合
2、mongoexport 可以带导出的过滤条件 -q, mongodump则不可以
3、mongoexport 可以导出json和csv格式, mongodump导出的是bson可读性不如前者
4、mongodump 的速度和压缩率都最好,每秒125M的数据,压缩率达28%
5、mongodump 更适合全库备份,mongoexport更适合单个集合备份
2.2恢复方面比较:
1、mongoimport 速度较快,但不保证数据完整导入 。
2、mongorestore 速度较慢,比mongoimport慢2.5倍左右,但是根据mongodump导出的数据,可以完整导入数据
2.3备份命令
参考链接:https://www.mongodb.com/zh-cn/docs/database-tools/mongodump/mongodump-examples/
例子
[root@taiguli-middleware ~]# /root/mongodb-tools/bin/mongodump --uri="mongodb://zzsa:jtGbvWJLLX46Wrzh@192.168.1.241:27017,192.168.1.241:27017,192.168.1.241:27017/zhgd" -o /root/backup
2024-04-12T16:56:52.196+0800 writing zhgd.business_file_object to /root/backup/zhgd/business_file_object.bson
2024-04-12T16:56:52.197+0800 writing zhgd.system_log to /root/backup/zhgd/system_log.bson
2024-04-12T16:56:52.197+0800 writing zhgd.file_object to /root/backup/zhgd/file_object.bson
2024-04-12T16:56:52.202+0800 writing zhgd.pre_file_object to /root/backup/zhgd/pre_file_object.bson
2024-04-12T16:56:52.211+0800 done dumping zhgd.business_file_object (2010 documents)
2024-04-12T16:56:52.222+0800 writing zhgd.file_manager_callback to /root/backup/zhgd/file_manager_callback.bson
2024-04-12T16:56:52.223+0800 done dumping zhgd.file_manager_callback (0 documents)
2024-04-12T16:56:52.223+0800 writing zhgd.mpp_mode to /root/backup/zhgd/mpp_mode.bson
2024-04-12T16:56:52.224+0800 done dumping zhgd.mpp_mode (0 documents)
2024-04-12T16:56:52.224+0800 writing zhgd.tenant_space_detail to /root/backup/zhgd/tenant_space_detail.bson
2024-04-12T16:56:52.230+0800 done dumping zhgd.tenant_space_detail (0 documents)
2024-04-12T16:56:52.231+0800 done dumping zhgd.system_log (1639 documents)
2024-04-12T16:56:52.232+0800 writing zhgd.tenant_space to /root/backup/zhgd/tenant_space.bson
2024-04-12T16:56:52.234+0800 writing zhgd.mpp_task to /root/backup/zhgd/mpp_task.bson
2024-04-12T16:56:52.234+0800 done dumping zhgd.tenant_space (0 documents)
2024-04-12T16:56:52.235+0800 done dumping zhgd.mpp_task (0 documents)
2024-04-12T16:56:52.235+0800 writing zhgd.tenant_space_status to /root/backup/zhgd/tenant_space_status.bson
2024-04-12T16:56:52.235+0800 done dumping zhgd.file_object (1652 documents)
2024-04-12T16:56:52.236+0800 done dumping zhgd.tenant_space_status (0 documents)
2024-04-12T16:56:52.250+0800 done dumping zhgd.pre_file_object (3295 documents)
[root@taiguli-middleware ~]# ll /root/backup/
总用量 4
drwxr-xr-x 2 root root 4096 4月 12 16:56 zhgd
[root@taiguli-middleware ~]# ll /root/backup/zhgd/
总用量 4804
-rw-r--r-- 1 root root 729706 4月 12 16:56 business_file_object.bson
-rw-r--r-- 1 root root 606 4月 12 16:56 business_file_object.metadata.json
-rw-r--r-- 1 root root 0 4月 12 16:56 file_manager_callback.bson
-rw-r--r-- 1 root root 662 4月 12 16:56 file_manager_callback.metadata.json
-rw-r--r-- 1 root root 707981 4月 12 16:56 file_object.bson
-rw-r--r-- 1 root root 795 4月 12 16:56 file_object.metadata.json
-rw-r--r-- 1 root root 0 4月 12 16:56 mpp_mode.bson
-rw-r--r-- 1 root root 280 4月 12 16:56 mpp_mode.metadata.json
-rw-r--r-- 1 root root 0 4月 12 16:56 mpp_task.bson
-rw-r--r-- 1 root root 280 4月 12 16:56 mpp_task.metadata.json
-rw-r--r-- 1 root root 2103251 4月 12 16:56 pre_file_object.bson
-rw-r--r-- 1 root root 1023 4月 12 16:56 pre_file_object.metadata.json
-rw-r--r-- 1 root root 1330421 4月 12 16:56 system_log.bson
-rw-r--r-- 1 root root 566 4月 12 16:56 system_log.metadata.json
-rw-r--r-- 1 root root 0 4月 12 16:56 tenant_space.bson
-rw-r--r-- 1 root root 0 4月 12 16:56 tenant_space_detail.bson
-rw-r--r-- 1 root root 302 4月 12 16:56 tenant_space_detail.metadata.json
-rw-r--r-- 1 root root 288 4月 12 16:56 tenant_space.metadata.json
-rw-r--r-- 1 root root 0 4月 12 16:56 tenant_space_status.bson
-rw-r--r-- 1 root root 302 4月 12 16:56 tenant_space_status.metadata.json
[root@taiguli-middleware ~]#
2.4、恢复命令
参考链接:https://www.mongodb.com/zh-cn/docs/database-tools/mongorestore/#std-program-mongorestore
/root/mongodb-tools/bin/mongorestore --uri="mongodb://zzsa:zXs67M6QE3pFag5Q@172.19.5.88:27017,172.19.5.88:27018,172.19.5.88:27019/file_center" /root/backup
单机备份
参考:https://www.cnblogs.com/phpyangbo/p/17531628.html