mongodb从2.6迁移到3.0过程
· 阅读需 11 分钟
总共有这么几个问题需要解决:
- mongodb3.0版本的二进制包
- wiredTiger引擎的配置
- 数据的迁移
- 权限
mongodb3.0的二进制包
这个就不用多说了,直接去官网选择对应的系统下载就好 https://www.mongodb.org/downloads 我是centos 6.3,对应的发行版貌似是redhat6.x,所以选择的redhat6 64bit
wiredTiger引擎的配置
官方给的例子是以yaml形式写的配置,我还是以conf文件形式,所以就在后面追加了一个选项就可以了。当然我是重建的库路径,如果原有的数据路径的话,启用wiredTiger是会报错的。这就是下面要说的一个部分。
dbpath=/your/data/path
logpath=/your/log/path
logappend=true
bind_ip = 127.0.0.1
auth = true
port = 27017
journal = true
#fork=true
storageEngine=wiredTiger
数据的迁移
由于需要换引擎,所以原来的数据不能直接使用了,必须使用monogodump
和mongorestore
两个工具来迁移数据。
具体操作可以参见这篇文章
通过mongodump和mongorestore实现Mongodb备份和恢复
权限
那么将数据导入之后,如果需要设置权限的话,首先是需要admin库中创建一个user的,还是先把auth=true
给注释掉了,创建个用户,到这里懵逼了一下,提示addUser方法错误,查了一下发现,3.0的用户及权限有些改变。