Skip to main content

mongodump

基础使用​

常用参数​

mongodump 命令行工具有多个参数,可以帮助你定制化备份过程。以下是一些常用的参数:

  1. --host <hostname> 或 -h <hostname>: 指定要连接的 MongoDB 服务器的主机名,默认是 localhost。
  2. --port <port> 或 -p <port>: 指定要连接的 MongoDB 服务器的端口,默认是 27017。
  3. --db <database_name>: 指定要备份的数据库名称。
  4. --collections <collection_name>: 指定要备份的集合名称。
  5. --out <output_directory>: 指定备份文件的输出目录。
  6. --oplog: 备份最近的 oplog,这在备份复制集时非常有用。
  7. --gzip 或 -z: 将备份文件压缩为 .gz 格式。
  8. --username <username> 或 -u <username>: 指定连接 MongoDB 时使用的用户名。
  9. --password <password> 或 -P <password>: 指定连接 MongoDB 时使用的密码。出于安全考虑,也可以通过环境变量 MONGO_PW 或者命令行提示输入。
  10. --authenticationDatabase <dbname> 或 --authenticationDb <dbname>: 指定用于认证的数据库,默认是 admin。
  11. --ssl: 使用 SSL 连接到 MongoDB 服务器。
  12. --sslCAFile <filename>: 指定 CA 证书文件的路径,用于 SSL 连接。
  13. --sslPEMKeyFile <filename>: 指定 PEM 密钥文件的路径,用于 SSL 连接。
  14. --sslPEMKeyPassword <value>: 指定 PEM 密钥文件的密码。
  15. --sslCRLFile <filename>: 指定 CRL 文件的路径,用于 SSL 连接。
  16. --quiet 或 -q: 减少输出的日志信息。
  17. --verbose 或 -v: 增加输出的日志信息。
  18. --ipv6: 使用 IPv6 地址而不是 IPv4。
  19. --excludeCollection <collection_name>: 排除指定的集合不进行备份。
  20. --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