mongoDB全量备份和恢复

发布于:2025-02-10 ⋅ 阅读:(63) ⋅ 点赞:(0)

mongoDB全量备份

使用 mongodump 工具:

mongodump 是MongoDB自带的一个命令行工具,它用于导出MongoDB数据库的数据。这个工具可以用来创建一个指定数据库或集合的快照。

mongodump --host <hostname> --port <port> --db <database_name> --out <output_directory>

如果需要备份所有数据库,可以省略 --db 参数。

mongodump --host localhost --port 27017 --out /bakcup/mongo/

使用密码备份

mongodump --host localhost --port 27017 --out /bakcup/mongo/  --username mongo --password 12345

恢复mongoDB数据

恢复MongoDB数据库的过程与备份类似,通常使用 mongorestore 工具来从备份中恢复数据。以下是一些关键步骤和选项,以帮助你成功地恢复数据库:

基本命令

mongorestore --host <hostname> --port <port> --username <user> --password <password> --authenticationDatabase admin --dir=<backup_directory>

恢复

mongorestore --host localhost --port 27017 --username mongo --password mongo --authenticationDatabase admin --dir=/opt/2025-01-13/

参数说明

  • --host <hostname>: MongoDB服务器的主机名。
  • --port <port>: MongoDB服务监听的端口,默认是27017。
  • --username <user>--password <password>: 用于认证的用户名和密码。
  • --authenticationDatabase admin: 指定认证数据库,通常是 admin 数据库,不用修改。
  • --dir=<backup_directory>: 包含备份文件的目录路径。

注意事项

  1. 权限:
    确保用于执行 mongorestore 的用户具有足够的权限来写入目标数据库。这通常需要 readWrite 或更高权限的角色。

  2. 覆盖现有数据:
    默认情况下,mongorestore 不会覆盖现有的数据。如果你希望覆盖已有的集合,请使用 --drop 参数。请注意,这将删除现有集合中的所有文档,然后重新插入备份的数据。

    mongorestore --drop ...
    
  3. 选择性恢复:
    如果只需要恢复某个特定的数据库或集合,可以指定它们作为参数:

    • 恢复单个数据库:

      mongorestore --db <database_name> ...
      
    • 恢复单个集合:

      mongorestore --nsInclude "<database_name>.<collection_name>" ...
      

网站公告

今日签到

点亮在社区的每一天
去签到