背景
项目的腾讯服务器即将到期,出于方便维护的考虑,需要转移到新的阿里服务器上。 旧的服务器系统为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服务。一切正常。