mongodb数据库备份还原:
针对库的
mongodump
和mongorestore
备份常用命令:
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件保存路径<br> #1.导出所有数据库: [root@localhost mongodb]# mongodump -h 127.0.0.1 -o /home/mongodb/ #2.导出指定数据库: [root@localhost mongodb]# mongodump -h 192.168.1.100 -d test -o /home/mongodb/
(没用用户可以去年
-u
和-p
,导出所有数据库去掉-d
)还原常用命令:
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件保存路径<br> #1.恢复所有数据库到mongodb中: [root@localhost mongodb]# mongorestore /home/mongodb/ #2.还原指定的数据库 [root@localhost mongodb]# mongorestore -d test /home/mongodb/test/
--drop
的意思是先删除所有的记录,然后恢复备份还原的文件格式是
json
和bson
格式
mongodb数据表备份还原:
针对表的
mongoexport
和mongoimport
mongoexport
导出表或者表中部分字段:mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv #1.导出整张表: [root@localhost mongodb]# mongoexport -d test -c users -o /home/mongodb/test/users.dat #2.导出表中部分字段 [root@localhost mongodb]# mongoexport -d test -c users --csv -f uid,name,sex -o test/users.csv #3.根据条件导出数据 [root@localhost mongodb]# mongoexport -d test -c users -q '{uid:{$gt:1}}' -o test/users.json
-f :
导出指定字段,以字号分割,-f name,email,age
导出name,email,age这三个字段-q :
根据查询条件导出,-q '{ "uid" : "100" }'
导出uid为100的数据--csv :
导出的文件格式为csv,这个比较有用,因为大部分的关系型数据库都支持csvmongoimport
导入表或者表中部分字段:mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名 #1.还原导出的csv文件 mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名 [root@localhost mongodb]# mongoimport -d test -c users --type csv --headerline --file tank/users.csv #2.还原导出的表数据 [root@localhost mongodb]# mongoimport -d test -c users --upsert test/users.dat #3.部分字段的表数据导入 [root@localhost mongodb]# mongoimport -d test -c users --upsertFields uid,name,sex test/users.dat
--upsert
: 表示插入或者更新现有数据
参考: MongoDB安装部署手稿