参照mongodb官方文档:http://docs.mongodb.org/manual/tutorial/deploy-replica-set-with-auth/#stop-the-mongod-instance
mongdb所有文件都放置到一个目录下,假设为/data/mongodb,该目录下建立几个子目录:log, pid, datadb, configdb, conf.d, key.d,分别存放不同的文件。
1. 修改/etc/init.d/mongod脚本文件,确保配置文件的路径正确。
2. 由于mongod是以mongod用户身份运行的,因此必须把/data/mongodb的所有者都修改为mongod
chown -R mongod: /data/mongodb。
3. 使用openssl生成的key文件的权限必须改为600,否则启动会失败。
chmod 600 /data/mongodb/key.d/keyfile
4. mongod的配置文件中,auth一定不能打开。
5.如果需要支持分片,则不能执行文档第2步创建用户的步骤,因为分片的集群的admin数据库位于config服务器上。
6. 所有副本服务器都按照上述步骤修改,修改完成后执行service mongod start。
7. 在一台服务器上执行rs.initiate(),这台服务器将成为主服务器。
8. 执行rs.add()加入其他副本,这些服务器将成为备份服务器。
注意:
在副本集的primary的本机上执行mongo命令连接到数据库,依然可以执行所有的操作。
但是从任何其它机器(包括副本集内的其它机器)连接到该机器都无法执行show dbs和数据库读写等操作。
为了防止安全漏洞,应该限制客户端只能通过mongos连接,而不允许直接连接到mongod。