1. 批量备份MongoDB数据
MongoDB是非关系型数据库,不同于使用sql语言备份关系型数据库,MongoDB提供了mongodump命令备份数据。
mongodump语法:
mongodump -h <host> -d <database> -o <backup_directory_path>
其中,
-h:指定MongoDB数据库的地址,默认为localhost。
-d:指定要备份的数据库名。
-o:指定备份的文件夹路径。
如果不加任何参数则备份所有数据库。
备份示例:
mongodump -h localhost -d test -o /data/mongodb/backup
以上命令将备份test数据库,并将备份文件放在/data/mongodb/backup目录下。
2. 批量还原MongoDB数据
使用mongorestore命令可以还原备份的MongoDB数据。
mongorestore语法:
mongorestore -h <host> -d <database> <path_to_backup_directory>
其中,
-h:指定MongoDB数据库的地址,默认为localhost。
-d:指定要还原的数据库名。
<path_to_backup_directory>:为备份文件所在的目录路径。
还原示例:
mongorestore -h localhost -d test /data/mongodb/backup/test/
以上命令将还原/data/mongodb/backup/test/文件夹下的备份文件到test数据库。
3. 导入MongoDB数据
使用mongoimport命令可以导入格式化好的json、csv、tsv等数据文件到MongoDB。
mongoimport语法:
mongoimport -h <host> -d <database> -c <collection> --file <path_to_input_file> --type <input_file_type>
其中,
-h:指定MongoDB数据库的地址,默认为localhost。
-d:指定要导入数据的数据库名。
-c:指定要导入数据的集合名。
--file:指定包含要导入数据的文件路径。
--type:指定输入文件的格式,可选值为json、csv、tsv等。
导入示例:
假如我们有一个数据文件example.csv,其中第一列为_id,第二列为name,第三列为age,第四列为gender,数据文件需要从相对路径导入则可使用以下命令:
mongoimport -h localhost -d test -c persons --file ./example.csv --type csv --headerline
上述命令将从example.csv文件中导入数据到test数据库下的persons集合,headerline选项表示第一行为表头,同时将_id自动创建。
4. 导出MongoDB数据
使用mongoexport命令可以将MongoDB数据导出到格式化的json、csv、tsv等文件。
mongoexport语法:
mongoexport -h <host> -d <database> -c <collection> --out <path_to_output_file> --type <output_file_type>
其中,
-h:指定MongoDB数据库的地址,默认为localhost。
-d:指定要导出数据的数据库名。
-c:指定要导出数据的集合名。
--out:指定导出数据的输出文件路径。
--type:指定输出文件的格式,可选值为json、csv、tsv等。
导出示例:
mongoexport -h localhost -d test -c persons --out ./persons.csv --type csv -f _id,name,age,gender
上述命令将导出test数据库下的persons集合,并将_id、name、age、gender四个字段保存为csv格式的文件。
总结
本文介绍了批量备份还原MongoDB数据以及导入导出MongoDB数据的方法,通过使用mongodump、mongorestore、mongoimport和mongoexport等命令可以方便地实现数据迁移和备份还原。