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