mongodump
基础使用
常用参数
mongodump 命令行工具有多个参数,可以帮助你定制化备份过程。以下是一些常用的参数:
--host <hostname>或-h <hostname>: 指定要连接的 MongoDB 服务器的主机名,默认是localhost。--port <port>或-p <port>: 指定要连接的 MongoDB 服务器的端口,默认是27017。--db <database_name>: 指定要备份的数据库名称。--collections <collection_name>: 指定要备份的集合名称。--out <output_directory>: 指定备份文件的输出目录。--oplog: 备份最近的 oplog,这在备份复制集时非常有用。--gzip或-z: 将备份文件压缩为.gz格式。--username <username>或-u <username>: 指定连接 MongoDB 时使用的用户名。--password <password>或-P <password>: 指定连接 MongoDB 时使用的密码。出于安全考虑,也可以通过环境变量MONGO_PW或者命令行提示输入。--authenticationDatabase <dbname>或--authenticationDb <dbname>: 指定用于认证的数据库,默认是admin。--ssl: 使用 SSL 连接到 MongoDB 服务器。--sslCAFile <filename>: 指定 CA 证书文件的路径,用于 SSL 连接。--sslPEMKeyFile <filename>: 指定 PEM 密钥文件的路径,用于 SSL 连接。--sslPEMKeyPassword <value>: 指定 PEM 密钥文件的密码。--sslCRLFile <filename>: 指定 CRL 文件的路径,用于 SSL 连接。--quiet或-q: 减少输出的日志信息。--verbose或-v: 增加输出的日志信息。--ipv6: 使用 IPv6 地址而不是 IPv4。--excludeCollection <collection_name>: 排除指定的集合不进行备份。--query <json_string_or_file>: 使用 JSON 格式的查询条件来选择备份的数据。
备份数据库
mongodump --db <数据库名> --out /home/hongqi/db/dump -u '<用户名>' -p '<密码>'
mongodump --host 127.0.0.1 --port 27017 -u 'admin' -p 'hongqi.123' --authenticationDatabase admin --db hongqi --out
/tmp/hongqi_dump_2024-11
mongodump --db hongqi --out /tmp/hongqi_dump_2024-11 -u 'hongqi' -p 'hongqi123'
恢复数据
mongorestore --host localhost --port 27017 --db mydb /path/to/backup/mydb
docker cp /home/test/Project/app/db/dump acc10335079e:/app/dump
mongorestore -u 'hongqi' -p 'hongqi.123' --db hongqi /tmp/hongqi_dump_2024-11
mongorestore -u '<用户名>' -p '<密码>' --db hongqi --authenticationDatabase admin <dump的目录>
docker 复制
docker cp /home/test/Project/app/db/dump acc10335079e:/app/dump