# 数据备份与恢复（mongodump、mongorestore）

URL: https://caijiao.org/mongodb/08-deploy/02-backup-restore
Source: docs/mongodb/08-deploy/02-backup-restore.md
Description: 本章节介绍 MongoDB 的数据备份与恢复方法，重点讲解 mongodump 和 mongorestore 工具的使用。

MongoDB 提供命令行工具 `mongodump` 和 `mongorestore`，方便进行数据备份与恢复操作。

## 数据备份 — mongodump

`mongodump` 工具用于导出数据库数据，生成 BSON 格式的备份文件。

### 基本用法

备份整个数据库：

```bash
mongodump --db myDatabase --out /backup/path/
````

备份指定集合：

```bash
mongodump --db myDatabase --collection users --out /backup/path/
```

备份指定服务器和端口：

```bash
mongodump --host localhost --port 27017 --db myDatabase --out /backup/path/
```

### 常用选项

* `--gzip`：压缩备份文件，节省空间。
* `--username` 和 `--password`：连接认证时使用。
* `--authenticationDatabase`：认证数据库。

## 数据恢复 — mongorestore

`mongorestore` 用于将备份文件恢复到 [MongoDB](/mongodb/) 数据库。

### 基本用法

恢复整个数据库：

```bash
mongorestore --db myDatabase /backup/path/myDatabase
```

恢复并覆盖数据：

```bash
mongorestore --drop --db myDatabase /backup/path/myDatabase
```

* `--drop` 选项会先删除目标数据库中的现有数据。

### 恢复指定集合

```bash
mongorestore --db myDatabase --collection users /backup/path/myDatabase/users.bson
```

## 注意事项

* 备份文件应安全存储，避免数据泄漏。
* 恢复时确保版本兼容，避免数据冲突。
* 生产环境建议定期自动备份并验证恢复有效性。

---

通过合理使用 `mongodump` 和 `mongorestore`，可以轻松实现 MongoDB 数据的备份与恢复，保障数据安全。
