本文已参与「新人创作礼」活动,一起开启掘金创作之路。 今天的积累都是为了更好的明天,加油!我是java程序员可以关注我一起学习哈!
三、添加用户、安全认证
首先必须使用admin数据库,进行新用户授权。
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。
编辑
输入以下命令:
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
编辑
授权成功后,关闭mongo服务:
db.shutdownServer()
显示如下,即已经成功关闭服务:
编辑
查看mongo服务进程,可看到服务已经成功停掉了。
编辑
然后需要到配置文件中修改配置,启用安全认证。
编辑
#开启认证,必选先添加用户
auth=true
最后开启mongo服务,进入数据库测试:
./mongod --config /usr/local/mongodb/etc/mongodb.conf
show dbs此时看不到任何数据库,说明我们的安全认证用户配置生效了。
编辑
首先使用use admin通过db.auth(‘root’,‘密码’) 输出1就是验证成功。
use admin
db.auth('root','123456')
编辑
注意:(如果是阿里云服务器,记得设置mongodb端口开放规则27017)
官网下载链接:nosqlbooster.com/downloads
该工具支持Windows、Linux 和 Mac OS、而且免费可放心下载。
编辑
下载后直接打开:
编辑
输入验证用户名和密码,以及数据库(随便填已有的数据库名称):
编辑
连接成功:
编辑
或者你也可以这样测试:ip+默认端口号:
编辑
这样也是连接成功了,并且外网ip也可以访问mongo数据库了。
注意:如果外网ip不能访问、也就是客户端无法连接,可能是需要放行防火墙端口。
比如防火墙放行8080端口、80端口等。
编辑
systemctl start firewalld
systemctl status firewalld
–permanent代表永久开启:
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports
firewall-cmd --zone=public --remove-port=27017/tcp --permanent
(1)设置开机启用防火墙:systemctl enable firewalld.service
(2)设置开机禁用防火墙:systemctl disable firewalld.service
命令含义:
–zone #作用域
–add-port=9200/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效