时间:2021-07-01 10:21:17 帮助过:5人阅读
1: 导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.
所以,都有如下通用选项:
-h host 主机
--port port 端口
-u username 用户名
-p passwd 密码
2: mongoexport 导出json格式的文件
问: 导出哪个库,哪张表,哪几列,哪几行?
-d 库名
-c 表名
-f field1,field2...列名
-q 查询条件
-o 导出的文件名
-- csv 导出csv格式(便于和传统数据库交换数据)
例1:导出 stu表 sn小于1000的 sn 和 name 注: _id列总是导出
- <span style="color: #008080;"> 1</span> # ./bin/mongoexport -u testUser -p <span style="color: #800080;">1234</span> -d test -c stu -f sn,name -q <span style="color: #800000;">‘</span><span style="color: #800000;">{sn:{$lte:1000}}</span><span style="color: #800000;">‘</span> -o ./<span style="color: #000000;">test.stu.json
- </span><span style="color: #008080;"> 2</span> connected to: <span style="color: #800080;">127.0</span>.<span style="color: #800080;">0.1</span>
- <span style="color: #008080;"> 3</span> exported <span style="color: #800080;">1000</span><span style="color: #000000;"> records
- </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">[root@localhost mongodb]# ll
- </span><span style="color: #008080;"> 5</span> 总用量 <span style="color: #800080;">156</span>
- <span style="color: #008080;"> 6</span> drwxr-xr-x <span style="color: #800080;">2</span> root root <span style="color: #800080;">4096</span> 5月 <span style="color: #800080;">23</span> <span style="color: #800080;">10</span>:<span style="color: #800080;">43</span><span style="color: #000000;"> bin
- </span><span style="color: #008080;"> 7</span> -rw------- <span style="color: #800080;">1</span> hadoop hadoop <span style="color: #800080;">34520</span> 8月 <span style="color: #800080;">4</span> <span style="color: #800080;">2013</span> GNU-AGPL-<span style="color: #800080;">3.0</span>
- <span style="color: #008080;"> 8</span> -rw------- <span style="color: #800080;">1</span> hadoop hadoop <span style="color: #800080;">1359</span> 8月 <span style="color: #800080;">4</span> <span style="color: #800080;">2013</span><span style="color: #000000;"> README
- </span><span style="color: #008080;"> 9</span> -rw-r--r-- <span style="color: #800080;">1</span> root root <span style="color: #800080;">86786</span> 5月 <span style="color: #800080;">25</span> <span style="color: #800080;">10</span>:<span style="color: #800080;">12</span><span style="color: #000000;"> test.stu.json
- </span><span style="color: #008080;">10</span> -rw------- <span style="color: #800080;">1</span> hadoop hadoop <span style="color: #800080;">18436</span> 8月 <span style="color: #800080;">4</span> <span style="color: #800080;">2013</span> THIRD-PARTY-NOTICES
例2:导出stu表 csv的格式
- <span style="color: #008080;">1</span> ./bin/mongoexport -u testUser -p <span style="color: #800080;">1234</span> -d test -c stu -f sn,name -q <span style="color: #800000;">‘</span><span style="color: #800000;">{sn:{$lte:10}}</span><span style="color: #800000;">‘</span> -o ./test.stu.csv
查看 导出的 csv文件
- <span style="color: #008080;"> 1</span> # <span style="color: #0000ff;">more</span><span style="color: #000000;"> test.stu.csv
- </span><span style="color: #008080;"> 2</span> <span style="color: #000000;">sn,name
- </span><span style="color: #008080;"> 3</span> <span style="color: #800080;">1.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student1</span><span style="color: #800000;">"</span>
- <span style="color: #008080;"> 4</span> <span style="color: #800080;">2.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student2</span><span style="color: #800000;">"</span>
- <span style="color: #008080;"> 5</span> <span style="color: #800080;">3.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student3</span><span style="color: #800000;">"</span>
- <span style="color: #008080;"> 6</span> <span style="color: #800080;">4.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student4</span><span style="color: #800000;">"</span>
- <span style="color: #008080;"> 7</span> <span style="color: #800080;">5.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student5</span><span style="color: #800000;">"</span>
- <span style="color: #008080;"> 8</span> <span style="color: #800080;">6.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student6</span><span style="color: #800000;">"</span>
- <span style="color: #008080;"> 9</span> <span style="color: #800080;">7.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student7</span><span style="color: #800000;">"</span>
- <span style="color: #008080;">10</span> <span style="color: #800080;">8.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student8</span><span style="color: #800000;">"</span>
- <span style="color: #008080;">11</span> <span style="color: #800080;">9.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student9</span><span style="color: #800000;">"</span>
- <span style="color: #008080;">12</span> <span style="color: #800080;">10.0</span>,<span style="color: #800000;">"</span><span style="color: #800000;">student10</span><span style="color: #800000;">"</span>
3.Mongoimport 导入
-d 待导入的数据库
-c 待导入的表(不存在会自己创建)
--type csv/json(默认)
--file 备份文件路径
例1: 导入json
- <span style="color: #008080;">1</span> # ./bin/mongoimport -u testUser -p <span style="color: #800080;">1234</span> -d test -c animal --type json --<span style="color: #0000ff;">file</span> ./test.stu.json
例2: 导入csv 注: --headerline 跳过列名
- <span style="color: #008080;">1</span> /bin/mongoimport -u testUser -p <span style="color: #800080;">1234</span> -d test -c bird -f sn,name --type csv --headline --<span style="color: #0000ff;">file</span> ./test.stu.csv
4.Mongodump 导出二进制bson结构的数据及其索引信息
-d 库名
-c 表名
-f field1,field2...列名
mongodum -d test [-c 表名] 默认是导出到mongo下的dump目录
规律:
1:导出的文件放在以database命名的目录下
2: 每个表导出2个文件,分别是bson结构的数据文件, json的索引信息
3: 如果不声明表名, 导出所有的表
mongorestore 导入二进制文件
例:
./bin/mongorestore -d test --directoryperdb dump/test/ (mongodump时的备份目录)
二进制备份,不仅可以备份数据,还可以备份索引,
备份数据比较小.
例:单表的备份和恢复
1.dump tea 表
- <span style="color: #008080;">1</span> ./bin/mongodump -u testUser -p <span style="color: #800080;">1234</span> -d test -c tea
2.查看 dump文件
- <span style="color: #008080;">1</span> # ll dump/<span style="color: #000000;">test
- </span><span style="color: #008080;">2</span> 总用量 <span style="color: #800080;">8</span>
- <span style="color: #008080;">3</span> -rw-r--r-- <span style="color: #800080;">1</span> root root <span style="color: #800080;">151</span> 5月 <span style="color: #800080;">25</span> <span style="color: #800080;">10</span>:<span style="color: #800080;">37</span><span style="color: #000000;"> tea.bson
- </span><span style="color: #008080;">4</span> -rw-r--r-- <span style="color: #800080;">1</span> root root <span style="color: #800080;">179</span> 5月 <span style="color: #800080;">25</span> <span style="color: #800080;">10</span>:<span style="color: #800080;">37</span> tea.metadata.json
3.删除 tea 表
- <span style="color: #008080;"> 1</span> ><span style="color: #000000;"> db.tea.drop();
- </span><span style="color: #008080;"> 2</span> <span style="color: #0000ff;">true</span>
- <span style="color: #008080;"> 3</span> ><span style="color: #000000;"> show tables
- </span><span style="color: #008080;"> 4</span> <span style="color: #000000;">animal
- </span><span style="color: #008080;"> 5</span> <span style="color: #000000;">bird
- </span><span style="color: #008080;"> 6</span> <span style="color: #000000;">shop
- </span><span style="color: #008080;"> 7</span> <span style="color: #000000;">stu
- </span><span style="color: #008080;"> 8</span> <span style="color: #000000;">system.indexes
- </span><span style="color: #008080;"> 9</span> <span style="color: #000000;">system.users
- </span><span style="color: #008080;">10</span> >
4.还原 tea 表 并查看记录 还原成功
- <span style="color: #008080;">1</span> ./bin/mongorestore -u testUser -p <span style="color: #800080;">1234</span> -d test --collection tea --directoryperdb dump/test/<span style="color: #000000;">tea.bson
- </span><span style="color: #008080;">2</span>
- <span style="color: #008080;">3</span> > db.tea.<span style="color: #0000ff;">find</span><span style="color: #000000;">()
- </span><span style="color: #008080;">4</span> { <span style="color: #800000;">"</span><span style="color: #800000;">_id</span><span style="color: #800000;">"</span> : ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5743d98aaddef29711337fb4</span><span style="color: #800000;">"</span>), <span style="color: #800000;">"</span><span style="color: #800000;">email</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">a@163.com</span><span style="color: #800000;">"</span><span style="color: #000000;"> }
- </span><span style="color: #008080;">5</span> { <span style="color: #800000;">"</span><span style="color: #800000;">_id</span><span style="color: #800000;">"</span> : ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5743d98daddef29711337fb5</span><span style="color: #800000;">"</span>), <span style="color: #800000;">"</span><span style="color: #800000;">email</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">b@163.com</span><span style="color: #800000;">"</span><span style="color: #000000;"> }
- </span><span style="color: #008080;">6</span> { <span style="color: #800000;">"</span><span style="color: #800000;">_id</span><span style="color: #800000;">"</span> : ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5743d9cfaddef29711337fb7</span><span style="color: #800000;">"</span>), <span style="color: #800000;">"</span><span style="color: #800000;">email</span><span style="color: #800000;">"</span> : <span style="color: #800000;">"</span><span style="color: #800000;">c@163.com</span><span style="color: #800000;">"</span><span style="color: #000000;"> }
- </span><span style="color: #008080;">7</span> { <span style="color: #800000;">"</span><span style="color: #800000;">_id</span><span style="color: #800000;">"</span> : ObjectId(<span style="color: #800000;">"</span><span style="color: #800000;">5743dc98addef29711337fbc</span><span style="color: #800000;">"</span>) }
MongoDB基础之八 备份与恢复
标签: