mongodump和mongorestore是MongoDB自带的备份恢复工具。
下面是命令参数说明和示例
mongodump
命令的参数说明:
-h, --host=<hostname> MongoDB服务器的地址,默认为localhost
-p, --port=<port> MongoDB服务器的端口号,默认为27017
-d, --db=<database> 需要备份的数据库名称
-c, --collection=<collection> 需要备份的集合名称,不指定时默认备份全库
-u, --username=<username> 登录MongoDB服务器的用户名
--password=<password> 登录MongoDB服务器的密码
-o, --out=<directory> 备份数据的目录路径
-q, --query=<query> 指定查询条件
--ssl 使用SSL连接到MongoDB服务器
--sslCAFile=<filename> SSL CA证书文件路径
--sslPEMKeyFile=<filename> SSL PEM证书文件路径
--sslPEMKeyPassword=<password> SSL PEM证书密码
--authenticationDatabase=<database> 认证数据库的名称
--gzip 备份数据时使用gzip进行压缩
--archive=<filename> 将备份数据保存到归档文件中
--quiet 禁止输出日志信息
备份示例1:通过用户密码认证方式把xxx库中file集合表的数据备份到/data/backup/mongodump20220321中
mongodump --host 10.130.111.99 --port 30000 --username admin --password 'data!2021@log' --db xxx --collection file --out /data/backup/mongodump20220321 --authenticationDatabase admin
备份示例2:指定条件【时间段内】的数据备份到/data/backup/mongodump20220321_add中
mongodump --host 10.130.111.99 --port 30000 --username admin --password 'data!2021@log' --db xxx --collection file -q '{"createTime":{"$gte":Date(1647792000000)}}' --out /data/backup/mongodump20220321 --authenticationDatabase admin
mongorestore
命令的参数说明:
-h, --host=<hostname> MongoDB服务器的地址,默认为localhost
-p, --port=<port> MongoDB服务器的端口号,默认为27017
-d, --db=<database> 恢复数据的数据库名称
-c, --collection=<collection> 恢复数据的集合名称
-u, --username=<username> 登录MongoDB服务器的用户名
--password=<password> 登录MongoDB服务器的密码
-o, --out=<directory> 恢复数据的目录路径
--drop 在恢复数据前删除已存在的集合
--ssl 使用SSL连接到MongoDB服务器
--sslCAFile=<filename> SSL CA证书文件路径
--sslPEMKeyFile=<filename> SSL PEM证书文件路径
--sslPEMKeyPassword=<password> SSL PEM证书密码
--authenticationDatabase=<database> 认证数据库的名称
--gzip 恢复数据时使用gzip进行解压缩
--quiet 禁止输出日志信息
恢复示例:恢复目录/data/backup/mongodump20220321/aimind中的数据到指定库xxx中
mongorestore -h 10.130.111.98:30000 -u admin -p 'data!2021@log' --db xxx /data/backup/mongodump20230629/aimind --authenticationDatabase admin