mongDB数据库的跨平台导入导出

279 阅读1分钟

背景

项目的腾讯服务器即将到期,出于方便维护的考虑,需要转移到新的阿里服务器上。 旧的服务器系统为WinServer,新的服务器为Linux。

使用工具

mongDB

  • mongodump
  • mongorestore

这是mongDB自带的两个命令,不同os平台下的使用方法都是一样的。

导出数据

./mongodump -h 127.0.0.1:xxxxx -d dbName -o C:\db

从本地端口号为xxxxx的mongDB中,导出dbName数据库到目录C:\db。

获得备份文件!

具体的可以参考mongodump--help

导入数据

在导入数据的时候,遇到了挺多坑。 执行语句是这个

./mongorestore -h 127.0.0.1:xxxxx -d xiaoantong -u name -p psd /home/file/dbName

not authorized 未授权的问题

首先确认的是,在mongDB shell中账号是正常使用的。

但是,在执行语句的时候,一直在提示未授权。

多次尝试,仍以失败告终。最后只得修改mongodb.conf文件中的验证参数auth,绕过验证方才成功。

vim ../mongodb.conf

port=xxxxx

#端口号(默认的端口号是27017,这里修改也是为了安全性)

dbpath=/usr/local/src/mongodb/data/db

#数据目录(指向刚才创建的数据文件目录)

logpath=/usr/local/src/mongodb/logs/mongodb.log

#日志目录(指向刚才创建的日志目录,并指定mongodb.log文件名,系统会自动创建)

fork=true

#设置后台运行

logappend=true

#日志输出方式(写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。)

auth=true

#开启认证(默认是flase,不需要认证的,这里开启认证是为了安全性)

重启服务,语句顺利执行。

结尾

恢复验证参数,重启mongoDB服务。一切正常。