mongodb配置成功后,有时需要在外部通过工具查看管理数据,这时就需要开启认证以保护数据的安全,下面介绍简单的mongo认证.
在配置认证时首先要使用不开启认证的方式启动mongo,并创建用户,示例如下:mongod -f /usr/local/mongodb/conf/mdb1.conf
添加root用户db.createUser(
{
user:”root”,
pwd:”123456″,
roles:[{role:”root”,db:”admin”}]
}
);
添加keyFilecd /usr/local/mongodb/data
touch keyfile
vim keyfile
在keyfile文件里输入密钥,三台服务器的设置必须相同!!
这里有个坑,keyfile的权限过大会提示错误信息{
“error”: {
“code”: 30,
“codeName”: “InvalidPath”,
“errmsg”: “permissions on /usr/local/mongodb/data/keyfile are too open”
}
}
修改keyfile的权限chmod 400 keyfile
修改配置文件vim /usr/local/mongodb/data/mdb1.conf#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户
auth=true
keyFile=/usr/local/mongodb/data/keyfile
# 设置副本集名称,在各个配置文件中,其值必须相同
replSet=rs0
三个副本集的配置都加上auth=true
keyFile=/usr/local/mongodb/data/keyfile
使用认证方式重新启动#删除已启动的mongod进程
pkill mongod
#启动
mongod –auth -f /usr/local/mongodb/conf/mdb1.conf
进入mongodbmongo 127.0.0.1:27017
登陆成功,可以输入名称查看