1. 把mongod添加到windows开机启动中
> mongod --dbpath d:/data/mongodb/ --logpath d:/data/mongodb/mylog/mongodb.log --replSet repset --serviceName "MongoDB" --install
> net start MongoDB
详细说明
---------------------------------------------------------------------------
--dbpath d:/data/mongodb/ //指定数据库将来存放的路径
--logpath d:/data/mongodb/log/mongo.log //指定mongod运行时日志文件
--replSet repset //给副本集取名,这里取名repset
--serviceName "MongoDB" //设置windows开机启动后显示的服务名
--install //把"MongoDB"服务添加到开机启动项中
2. 初始化副本集并设置关联
> mongo
> use admin
> config = { _id:"repset", members:[
... {_id:0,host:"192.168.1.136:27017"},
... {_id:1,host:"192.168.1.137:27017"},
... {_id:2,host:"192.168.1.138:27017"}]
... }
> rs.initiate(config);
> rs.status();
3. 测试副本集是否正常工作
> mongo 127.0.0.1
> use test;
> db.testdb.insert({"test1":"testval1"})
> mongo 192.168.1.136:27017
> db.getMongo().setSlaveOk()
> use test
> show tables 或者 db.testdb.find();
说明:
这一步可以省略,直接用mongo图形化可视化客户端工具进行查看数据。推荐客户端
Robomongo 0.9.0-RC10
4、使用mongodb配置文件(推荐Linux下)
> mongod -f conf/mongod.conf
#mongod.conf
bind_ip=10.101.72.49 //设置了之后,本地127.0.0.1就不能访问了
port=27017
dbpath=/opt/mongo-3.2.9/data
logpath=/opt/mongo-3.2.9/log/mongodb.log
fork=true
nojournal=true
replSet=repset
5、设置账户密码
- 必须先设立管理员账户密码,官网有比较详细的资料
- 添加账号密码的时候,root账号可以打开集合,admin不可以打开集合
> use admin
> db.createUser({user:"admin",pwd:"password",roles:["root"]})
> use proxy_manager
> db.createUser(
{
user: "wuxian",
pwd: "password",
roles: [ { role: "readWrite", db: "proxy_manager" } ]
}
)
[外链图片转存失败(img-68TtjamJ-1565344564694)(http://wltos.com/mongodb_account_password.png)]
附录1:让当前运行的MongoDB服务停止
> sc delete MongoDB
附录2:添加节点和删除节点
在副本集的master下,一条一条的把slave从副本集中删除。
> rs.add("192.168.1.136:27017") //添加
> rs.remove("192.168.1.136:27017") //删除
> config = { _id:"repset", members:[{_id:0,host:"192.168.1.136:27017"}]}
附录3:以管理员权限打开终端(win)
在windows下,建议以管理员的方式启动终端。否则,执行mongo命令可能会失败。
参考资料
mongodb用户权限修改,删除以及robomongo显示问题