一. 导入导出
1.1 导出工具mongoexport
Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
mongoexport具体用法如下所示:
mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
-d 数据库名
-c collection名
-o 输出的文件名
—type 输出的格式,默认为json
-f 输出的字段,如果—type为csv,则需要加上 -f “字段名”
示例:导出集合articles,字段 _id,author,dave,score,views
python@ubuntu:/home/mongodump$ sudo mongoexport -d itcast -c articles -o /home/mongodump/articles.json --type json -f "_id,author,dave,score,views"
2016-09-15T20:33:50.870+0800 connected to: localhost
2016-09-15T20:33:50.871+0800 exported 7 records
1.2 数据导入 mongoimport
mongoimport具体用法如下所示:
mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
-d 数据库名
-c collection名
—type 导入的格式,默认json
-f 导入的字段名
—headerline 如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
—file 要导入的文件
示例:导入集合articles_import,字段 _id,author,dave,score,views
python@ubuntu:/home/mongodump$ sudo mongoimport -d itcast -c articles_import --file /home/mongodump/articles.json --type json
2016-09-15T20:41:05.682+0800 connected to: localhost
2016-09-15T20:41:05.706+0800 imported 7 documents
二. 备份恢复
2.1 为什么要定期进行数据库的备份
数据备份就是要保存数据的完整性,防止断电,病毒感染等等情况,使数据丢失。有必要的话,最好勤备份,防止数据丢失。
最主要的原因:要知道,在地球上网是很危险的,即使做好安全预防措施,也难免会发生不可预想的问题。
2.2 MongoDB数据备份
在Mongodb中使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
mongodump --help
: 可选参数列表
mongodump命令脚本语法如下:
mongodump -h dbhost -d dbname -o dbdirectory
-h
:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017-d
:需要备份的数据库实例,例如:test-o
:备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
案例:创建备份数据库存放位置,执行导出命令
python@ubuntu:~$ sudo rm -rf /home/mongodump/
python@ubuntu:~$ sudo mkdir -p /home/mongodump/
python@ubuntu:~$ sudo mongodump -h 192.168.17.129:27017 -d itcast -o /home/mongodump/
执行以上命令后,客户端会连接到ip为 192.168.17.129 端口号为 27017 的MongoDB服务上,并备份所有数据到 /home/mongodump/目录中。
2.3 MongoDB数据恢复
mongodb使用 mongorerstore
命令来恢复备份的数据。
mongorestore --help
: 可选参数列表
语法: mongorestore命令脚本语法如下:
mongorestore -h dbhost -d dbname --dir dbdirectory
-h:MongoDB所在服务器地址
-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
—dir:备份数据所在位置,例如:/home/mongodump/itcast/
—drop:恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!
接下来我们执行以下命令:
mongorestore -h 192.168.17.129:27017 -d itcast_restore --dir /home/mongodump/itcast/