教你如何批量备份还原以及导入与导出MongoDB数据方式

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等命令可以方便地实现数据迁移和备份还原。

数据库标签