mongodb数据库备份、还原、导出表、导入表

一,mongodump备份数据库
1,常用命令格
./mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
如果没有用户谁,可以去掉-u和-p。(用户名和密码是用户访问数据库)
如果导出本机的数据库,可以去掉-h。
如果是默认端口,可以去掉–port。
如果想导出所有数据库,可以去掉-d。

2,导出所有数据库
./mongodump -u 用户名 -p 密码 -o /usr/local/server/mongodb/backup/

二,mongorestore还原数据库
1,常用命令格式
./mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径
–drop的意思是,先删除所有的记录,然后恢复,慎用!!!
文件存在路径:指的是之前数据库备份的路径

2,恢复所有数据库到mongodb中
./mongorestore -u 用户名 -p 密码 /usr/local/server/mongodb/backup/

三,mongoexport导出表,或者表中部分字段
1,常用命令格式
./mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --type=csv -o 文件名
-f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q 可以根据查询条件导出,-q ‘{ “uid” : “100” }’ 导出uid为100的数据
–csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点

2,导出整张表
这里以数据库表user为例,将user表格导出格式为csv文件
./mongoexport -u 用户名 -p 密码 -d platform -c user --type=csv -f name,password -o /usr/local/server/mongodb/user.csv
效果如下图所示:

四,mongoimport导入表,或者表中部分字段
注意:如果导入的时候需要先删除掉原来的集合,可以再加上–drop
1.1,还原整表导出的非csv文件
./mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --file 文件名
–upsert 插入或者更新现有数据

1.2,还原部分字段的导出文件
./mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --file 文件名
–upsertFields跟–upsert一样,更新或者插入现有字段

1.3,还原导出的csv文件
./mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 文件类型 --headerline --upsert --file 文件名
–type 表示文件类型
–headline 表示不导入首行(csv文件的首行是表头)
2,还原导出的表数据
这里以数据库表user为例,将user.csv文件导入到数据库user表中
./mongoimport -u 用户名 -p 密码 -d platform -c user --type csv --headerline --upsert --file /usr/local/server/mongodb/user.csv --drop

你可能感兴趣的:(mongoDB)