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