首页 > 开发 > 综合 > 正文

mongodb 的数据备份与恢复

2024-07-21 02:52:27
字体:
来源:转载
供稿:网友

        导入/导出可以操作是本地的或远程的,所以都有以下通用选项【如果是操作本地机并且没有密码的话可以省去】:

               1、-h host         主机               2、-port port     端口               3、-u username 用户名               4、-p passWord 密码 导出【这两种格式适合做数据交换】:      ./bin/mongoexport -d test -c stu -f sn,name -q '{sn:{$lte:1000}}' -o ./test.stu.json【因为导出的是 json 格式,所以是 json 后缀命名】                          -d  库名                          -c  表名                          -f  属性名(列名,不声明就是全部导出)                          -q 导出条件                          -o 存放文件位置及名字      ./bin/mongoexport -d test -c stu -f sn,name -q '{sn:{$lte:1000}}' --csv -o ./test.stu.csv【因为导出的是csv 格式,所以是 csv 后缀命名】                         --csv    声明是 csv 格式【便于和传统型数据库交换数据,因为 MySQL 有一个引擎就是 csv 的,只要把文件放在mysql相关目录,引擎改为 csv 的,就能直接读取数据】 导出成二进制格式:          ./bin/mongodump -d test -c tea                              -d      导出库名                              -c      导出的表名(不写导出库内所有表)                              -f       导出的字段(不写导出表内所有字段)         【导出成二进制文件,好处是索引文件也被备份下来了,适合做备份,且导出速度快】          规律:                默认会导出到 mongo 下的dump目录                 导出的文件放在 库名 的命名目录下                每个表生成两个文件,分别是 bson 结构的数据文件,json 的索引信息                如果不声明表名,会导出所有表      导入:    ./bin/mongoimport -d test -c animal --type json --file ./test.stu.json 【导入 json 格式】                           -d   导入的库名                           -c   导入的表名【不存在会隐式创建】                           --type  导入数据的类型【不写默认 json】                           --file    导入数据文件路径       ./bin/mongoimport -d test -c bird --type csv -f sn,name --headerline --file ./test.stu.csv 【导入 csv 格式】               因为 csv 格式文件第一行是逗号分割的字段名,所以需要声明都有哪些字段。并且 mondodb 会把第一行也当作数据,所以我们要 --headerline 声明跳过第一行   导入【二进制文件】      ./bin/mongorestore -d test --directoryperdb dump/test                   -d  导入进的库名【不存在会创建】                   --directoryperdb  备份文件存放的位置【会把此目录下的所有备份文件都导入】  
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表