MongoDB 备份(mongodump)
- 在Mongodb中我们使用mongodump命令来备份MongoDB数据。该命令可以导出所有数据到指定目录中。
语法 mongodump命令脚本语法如下:
mongodump -h dbhost -d dbname -o dbdirectory
-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d: 需要备份的数据库实例,例如:test
-o: 备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
步骤一 创建要备份文件的文件夹
如果没有开启权限
mongodump -h 127.0.0.1:27017 -d 数据库名称 -o ~/Desktop/数据库备份的路径
mongodump -h 127.0.0.1:27017 -o ~/Desktop/数据库备份的路径
如果开启了权限设置
我们也可以使用账号密码的方式备份指定用户的数据库
设置了超级管理员也可以使用如下方法备份
使用如下命令将mogo数据库备份到bak文件夹中
恢复(mongorestore)
mongodb使用 mongorestore 命令来恢复备份的数据。
语法 mongorestore命令脚本语法如下:
mongorestore -h hostname:port -d dbname --dir path
-host <:port>, -h <:port>: MongoDB所在服务器地址,默认为: localhost:27017
-db , -d : 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
--dir: 指定备份的目录
恢复备份
命令格式如下:
如果没有开启权限
mongorestore -h 127.0.0.1:27017 -d 数据库名称 --dir ~/Desktop/数据库备份的路径
mongorestore -h 127.0.0.1 -dir ~/Desktop/数据库备份的路径
将之前备份在bak文件夹下的mogo数据库备份恢复到刚才删除的数据里面
下面是我添加了管理员权限之后的备份命令
如果开启了权限设置
MongoDB数据导入与导出
导出工具:mongoexport 1、概念: mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。 2、语法: mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
- d :数据库名
- c :collection名
- o :输出的文件名
- -type : 输出的格式,默认为json
- f :输出的字段,如果-type为csv,则需要加上-f "字段名"
示例:
mongoexport -d class1804 -c books -o ~/桌面/dump/books.json --type json
mongoexport -d class1804 -c books -o ~/桌面/dump/books.csv --type csv -f 'by_user,likes'
数据导入:mongoimport 1、语法: mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv
参数说明:
- d :数据库名
- c :collection名
- -type :导入的格式默认json
- f :导入的字段名
- -headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
- -file :要导入的文件
示例:
mongoimport -d class1804 -c books --file ~/桌面/dump/books --type json
mongoimport -d class1804 -c info --file ~/桌面/dump/books --headerline --type csv