MongoDB集群登录验证
以下是我基于MongoDB3.6.5成功的案例
- 生成key文件及其文件存放目录可依据引用文章来写,若引用文章失效,网上这样的创建很多,都是一致的,照猫画虎即可。
-
- 这里也有一个问题,关于文件的400权限问题,一定要设置成400,644是否可以不清楚,777肯定是不行的,会报权限太大,这里只读权限即可。
- 重点描述创建用户,并配置文件
-
- 随机连接一台数据库服务器即可
- 创建用户,先创建用户再配置配置文件,创建用户与正常MongoDB创建用户一致
- 配置配置文件不同之处,我没有研究过官网教程,但是按照引用文章执行是有问题的,引用文章中说配置文件填写
security: keyFile: "/home/mongodb/data/mongodb-keyfile" clusterAuthMode: "keyFile" authorization: "enabled"
-
- 但是启动报错,查找报错日志,关于security这个字段的问题,最后我的方法是在所有的配置文件中都只加入keyFile= /usr/local/mongodb/keyfile/mongoKeyfile 这一句,配置文件包括config, mongos,和share1, share2, share3这几个文件,可能起的名字不同,但就是所有配置文件。
- 同时在调试过程中日志有报最大连接数的错误,我把部分设置最大连接注释了,但我觉得不是这个问题导致的,恢复是否成功没有尝试,有待考证,可以自己尝试。
- 最后启动MongoDB集群,切记先把进程删掉。killall mongod , killall mongos
mongod -f /usr/local/mongodb/conf/config.conf mongod -f /usr/local/mongodb/conf/shard1.conf mongod -f /usr/local/mongodb/conf/shard2.conf mongod -f /usr/local/mongodb/conf/shard3.conf mongos -f /usr/local/mongodb/conf/mongos.conf