mongoDB数据导入导出与备份恢复

2022-08-11 19:31:06 浏览数 (1)

1.导出:

导出数据可以使用命令:

代码语言:javascript复制
mongoexport -h dbhost -d dbname -c collectionName -o output

参数说明:

-h 数据库地址

-d 指明使用的库

-c 指明要导出的集合

-o 指明要导出的文件名

举个例子:

代码语言:javascript复制
mongoexport -h 127.0.0.1:27017 -d xxx -c xxx -o C:xxxxDesktop/test.json

导出成功后是这样的的一个json

2.导入:

导入数据可以使用命令:

代码语言:javascript复制
mongoimport -h dbhost -d dbname -c collectionname output 

参数说明:

-h 数据库地址

-d 指明使用的库

-c 指明要导入的集合

举例:(帮刚才导出的数据从数据库删除掉,再通过这个命令导入)

ongoimport -h 127.0.0.1:27017 -d xx -c xx C:xxxxDesktop/test.json

然后通过robo3T就可以看到刚才导入的数据了

补充:如果我们的mongo设置了用户权限,按照上面的命令是无法正常操作的

需要加两个参数:-u "userName" -p "password" 即可

完整实例:

代码语言:javascript复制
mongoexport -h 127.0.0.1:27017 -d xxx -c xxx -o C:xxxxDesktop/test.json -u "userName" -p "password"

3.备份

如果想要对整个数据库进行备份需要用:mongodump

# 语法:

代码语言:javascript复制
mongodump -h "数据库所在ip地址" -d "数据库名称" -o "保存文件的目录" -u xxx -p xxx

参数说明:

-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d: 需要备份的数据库实例,例如:test

-o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

例:

# 将本地数据库familyTv的数据保存到当前目录下

mongodump.exe -h 127.0.0.1:27017 -d familyTv -o ./

4.数据恢复

数据恢复:mongorestore

# 语法:

代码语言:javascript复制
mongorestore -h "数据库所在ip" -d "要保存数据的数据库名称"  --dir "存放数据的目录"

参数或名:

-h: MongoDB所在服务器地址

-d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

--dir: 备份数据所在位置,例如:/home/mongodump/

--drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

# 例:

mongorestore -h 127.0.0.1 -d familyTv --dir familyTv

0 人点赞