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