MongoDB的備份與恢復(fù)方法主要有以下幾種:
mongodump
是MongoDB自帶的備份工具,用于創(chuàng)建數(shù)據(jù)庫(kù)和集合的備份。使用mongodump
時(shí),需要指定要備份的數(shù)據(jù)庫(kù)和集合,以及備份文件的存儲(chǔ)位置。
命令格式:
mongodump --host <hostname> --port <port> --db <database_name> --out <output_directory>
示例:
mongodump --host localhost --port 27017 --db mydatabase --out /backups/mongodb
如果MongoDB啟用了身份驗(yàn)證,可以使用mongodump
命令的--username
和--password
選項(xiàng)來(lái)指定用戶名和密碼。
命令格式:
mongodump --host <hostname> --port <port> --db <database_name> --username <username> --password <password> --out <output_directory>
如果MongoDB配置為使用SSL/TLS進(jìn)行通信,可以使用mongodump
命令的--ssl
和--sslPEMKeyFile
選項(xiàng)來(lái)指定SSL證書文件。
命令格式:
mongodump --host <hostname> --port <port> --db <database_name> --ssl --sslPEMKeyFile <ssl_certificate_file> --out <output_directory>
mongorestore
是MongoDB自帶的恢復(fù)工具,用于將備份文件還原到數(shù)據(jù)庫(kù)中。使用mongorestore
時(shí),需要指定備份文件的存儲(chǔ)位置和要恢復(fù)的數(shù)據(jù)庫(kù)名稱。
命令格式:
mongorestore --host <hostname> --port <port> <backup_directory>/<database_name>
示例:
mongorestore /backups/mongodb/mydatabase
如果MongoDB啟用了身份驗(yàn)證,可以在mongorestore
命令中添加--username
和--password
選項(xiàng)來(lái)指定用戶名和密碼。
命令格式:
mongorestore --host <hostname> --port <port> <backup_directory>/<database_name> --username <username> --password <password>
如果MongoDB配置為使用SSL/TLS進(jìn)行通信,可以在mongorestore
命令中添加--ssl
和--sslPEMKeyFile
選項(xiàng)來(lái)指定SSL證書文件。
命令格式:
mongorestore --host <hostname> --port <port> <backup_directory>/<database_name> --ssl --sslPEMKeyFile <ssl_certificate_file>
此外,還可以使用mongodump
和mongorestore
命令的--drop
選項(xiàng)來(lái)在恢復(fù)時(shí)刪除數(shù)據(jù)庫(kù)中的現(xiàn)有數(shù)據(jù)。例如:
mongorestore --host localhost --port 27017 /backups/mongodb/mydatabase --drop
這將刪除目標(biāo)數(shù)據(jù)庫(kù)中的所有現(xiàn)有數(shù)據(jù),并將備份文件中的數(shù)據(jù)還原到數(shù)據(jù)庫(kù)中。請(qǐng)注意,在執(zhí)行此操作之前務(wù)必備份重要數(shù)據(jù),以防止數(shù)據(jù)丟失。