MongoDB的备份与恢复方法主要有以下几种:
备份方法
- mongodump
mongodump
是MongoDB自带的备份工具,用于创建数据库和集合的备份。使用mongodump
时,需要指定要备份的数据库和集合,以及备份文件的存储位置。
命令格式:
mongodump --host--port --db --out
示例:
mongodump --host localhost --port 27017 --db mydatabase --out /backups/mongodb
- mongodump with authentication
如果MongoDB启用了身份验证,可以使用mongodump
命令的--username
和--password
选项来指定用户名和密码。
命令格式:
mongodump --host--port --db --username --password --out
- mongodump with SSL/TLS
如果MongoDB配置为使用SSL/TLS进行通信,可以使用mongodump
命令的--ssl
和--sslPEMKeyFile
选项来指定SSL证书文件。
命令格式:
mongodump --host--port --db --ssl --sslPEMKeyFile --out
恢复方法
- mongorestore
mongorestore
是MongoDB自带的恢复工具,用于将备份文件还原到数据库中。使用mongorestore
时,需要指定备份文件的存储位置和要恢复的数据库名称。
命令格式:
mongorestore --host--port /
示例:
mongorestore /backups/mongodb/mydatabase
- mongorestore with authentication
如果MongoDB启用了身份验证,可以在mongorestore
命令中添加--username
和--password
选项来指定用户名和密码。
命令格式:
mongorestore --host--port / --username --password
- mongorestore with SSL/TLS
如果MongoDB配置为使用SSL/TLS进行通信,可以在mongorestore
命令中添加--ssl
和--sslPEMKeyFile
选项来指定SSL证书文件。
命令格式:
mongorestore --host--port / --ssl --sslPEMKeyFile
此外,还可以使用mongodump
和mongorestore
命令的--drop
选项来在恢复时删除数据库中的现有数据。例如:
mongorestore --host localhost --port 27017 /backups/mongodb/mydatabase --drop
这将删除目标数据库中的所有现有数据,并将备份文件中的数据还原到数据库中。请注意,在执行此操作之前务必备份重要数据,以防止数据丢失。