1、备份数据库
语法:
mongodump -h IP地址 --port 端口号 -u 用户名 -p 密码 -d 数据库名 -o 备份文件存放路径
示例:
mongodump -h localhost -d arm -o "C:\Users\muzhi\Desktop\arm"
命令解读:
从本地mongo的arm数据中备份数据,将数据备份到桌面的arm目录,备份时自动创建该目录
2、还原数据库
语法:
mongorestore -h IP地址 --port 端口号 -u 用户名 -p 密码 -d 数据库名称 备份文件存放路径
示例1:
mongorestore -h localhost -d arm "C:\Users\muzhi\Desktop\arm"
命令解读:
将arm目录备份的数据还原到本地mongo的arm数据库。
示例2:
mongorestore -h localhost --drop --gzip --archive=C:\Users\download\hins16750143_data_20230111101704.ar -vvvv --stopOnError
命令解读:
将阿里云数据库MongoDB下载的逻辑备份还原到本地mongo的arm数据库
示例3:
mongorestore -h 192.168.0.1 --port 27017 -u admin -p 123456 --db arm --drop --gzip --archive=C:\Users\muzhi\Desktop\数据备份\mongo\逻辑备份\hins16750143_data_20230111101704.ar -vvvv --stopOnError --authenticationDatabase admin
命令解读:
将阿里云备份的mongo导入指定ip地址的数据库,数据库设置有账号密码
注意事项:
1、数据库可手动创建,如没有创建,导入时会根据-d的参数自动创建对应的数据库。
3、导出数据库或数据表
语法:
mongoexport -h IP地址 --port 端口号 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 -o 要保存的文件路径
示例:
mongoexport -h localhost --port 27017 -d arm -c search_article -o "C:\data\mongosql.json"
命令解读:
导出本地arm数据库中的search_article表到json文件中
注意:
1、-f可以导出指字段,以逗号分割,例如:-f name,email,age导出name,email,age这三个字段
2、-q 可以根查询条件导出,-q ‘{ “uid” : “100” }’ 导出uid为100的数据
3、端口可以省略,默认27017
4、可导出json或csv文件
4、导入数据库或数据表
语法:
mongoimport -h IP地址 --port 端口号 -u 用户名 -p 密码 -d 数据库名 -c 表名 --file 已导出文件路径
示例:
mongoimport -h localhost -d arm1 -c search_article --file C:\Users\muzhi\Desktop\mongosql.json
解读:
将导出的数据,导入至本地数据库
示例2:
mongoimport -h 47.105.xxx.xxx --port 27017 -u admin -p xxx -d arm -c xxx --file "C:\Users\muzhi\Desktop\xxx.json" --authenticationDatabase admin
解读:
将导出的数据导入至远程数据库
其他问题:
如果执行命令出现:'mongoexport' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
一般很大的可能是你mongo环境变量设置有问题,重新设置一下,或者直接进入Mongo的bin目录,只要里面能找到如下两个文件就表示正常,如图所示:
然后cmd进入此目录执行命令,即可成功看到执行结果,也可以将此目录加入环境变量,即可永久解决此问题。
一点记录,让头发不在掉第二次!