docker版本mongo数据导入导出记录

mongo数据导出:
导出步骤:

1、进入docker的mongo命令行

docker exec -it  容器id bash 

2、创建导出目录
mkdir -p /home/mongo
3、导出mongo原数据

// -h:主机地址 --port:端口号 -d:需要导出的数据库名称 -o:导出文件保存地址
mongodump -h 127.0.0.1 --port  27017 -d  数据库  -o /home/mongo
(mongoexport:也是导出命令,导出指定的集合collection使用-c:指定导出的集合。

mongoexport -h 127.0.0.1 --authenticationDatabase=admin -u 账号 -p 密码  -c 集合名  -d 数据库名  -o /home/mongo  --type=json)

导入步骤:
1、进入docker的mongo命令行
2、通过mongorestore命令导入数据

// -h 主机地址加端口号 -u:用户名 -p:密码 -d:指定导入的数据库名称 --authenticationDatabase:鉴权信息保存的数据库
mongorestore -h 127.0.0.1 --authenticationDatabase=admin -u admin -p 123456 -d iot /feng/dev_app_alarm.bson 
总结:

导出的时候很顺利,几个步骤下来很快就搞定了,我在导入的时候卡了很久,一开始的时候没有注意到需要导入的mongo加了用户鉴权所以直接使用的(mongorestore -h -d )
报错信息: Failed: yapi.log: error reading database: (Unauthorized) command listCollections requires authentication这个报错是因为mongo开启了用户鉴权必须使用鉴权用户登录才能操作
之后百度之后加上了-u -p (mongorestore -h -u -p -d )
报错信息: error connecting to host: could not connect to server: connection() : auth error: sasl conversation error: unable to authenticate using mechanism “SCRAM-SHA-1”: (AuthenticationFailed) Authentication failed.这个报错是因为你没有指定鉴权用户保存的数据库。加上–authenticationDatabase就可以了。

posted @ 2023-02-21 15:41  大日很忧伤  阅读(263)  评论(0编辑  收藏  举报