备份数据库
mongodump -h 地址 --port 端口 -u 用户名 -p 密码 -d 数据库 -o 导出文件目录 --authenticationDatabase admim 授权认证数据库
- 如果是本地服务器,默认
27017
端口时,可以战斗力-h
和-d
参数 - 如果要导出整个库时,可以不在
-d
参数 - 如果用户是
-d
数据库的用户可以不加authenticationDatabase admim
,如果出现 Authentication failed验证失败时,需要加上--authenticationDatabase admim
授权认证数据库 - 导出的数据,每个库为一个目录,每张表二个文件,一个json是结构,一个bson是数据
mongodump -uroot -p123456 -d Test -o /data/db/ --authenticationDatabase admin
恢复数据库
mongorestore -h 地址 --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 导入文件目录 --authenticationDatabase admin
–drop 导入的是备份的数据库目录
mongorestore -uroot -p123456 -d Test --drop /data/db/Test
导出表、或者部分字段
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -q 条件判断 -f 字段 --authenticationDatabase admin
- -q 可以根查询条件导出,
-q '{_id:{$gt:100}}'
导出_id大于100的数据 - -f 导出指字段,以字号分割,
-f _id,name,age
导出id,name,age
这三个字段 - –csv 表示导出的文件格式为csv的
- 导出整张表
mongoexport -uroot -p123456 -d Test -c Users -o /data/db/Test/Users.dat
- 导出表中部分字段
mongoexport -uroot -p123456 -d Test -c Users --csv -f _id,name,age -o /data/db/Test/Users.csv
- 根据条件敢出数据
mongoexport -uroot -p123456 -d Test -c Users -q '{_id:{$gt:100}}' -o /data/db/Test/Users.json
导入表,或者表中部分字段
- 还原整表导出的非csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名 --authenticationDatabase admin
- –upsert 插入或者更新现有数据
mongoimport -uroot -p123456 -d Test -c Users --upsert /data/db/Test/Users.dat
- 还原部分字段的导出文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名 --authenticationDatabase admin
- –upsertFields根–upsert一样
mongoimport -uroot -p123456 -d Test -c Users --upsertFields _id,name,age /data/db/Test/Users.dat
- 还原csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名 --authenticationDatabase admin
- –type 文件类型
mongoimport -uroot -p123456 -d Test -c Users --type csv --headerline --file /data/db/Test/Users.csv