在CentOS下设置MongoDB开机自启动并且开启身份认证

4 篇文章 0 订阅
2 篇文章 0 订阅

1.我们在CentOS安装好Mongodb后,在mongodb的安装路径的bin目录下(我的是/usr/local/mongodb/bin)新建一个文件mongo.conf

dbpath = /var/mongodb/data  #数据文件存放目录,这里的路径按自己的路径填写,一定不要填错
logpath =  /var/mongodb/logs/log.log  #日志文件存放目录,这里的路径按自己的路径填写
port = 27017  #端口
fork = true  #以守护程序的方式启用,即在后台运行
nohttpinterface = true
auth = false  # 是否开启校验用户,设置为true后数据库连接时需要输入用户名密码

然后在 /etc/rc.local 文件中增加一条语句,用于开机自启mongodb。命令:

打开rc.local,编辑该文件

vi /etc/rc.local

在文件后面换行,加上下列代码

/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongo.conf

一个是MongoDB的安装目录,一个是MongoDB的配置文件(就是刚刚我们配置的)。

然后我们进入mongodb安装目录下的bin目录输入

./mongod --config ./mongo.conf

 出现如下显示则启动成功即可

2.给mongodb配置用户名密码

首先保证mongodb启动

第一:进入mongodb安装路径下的bin目录,并且输入./mongo

第二:切换到 'admin' 数据库 use admin

第三:给admin设置用户密码:user: 用户名, pwd: 用户密码,roles: 用来设置用户的权限,比如读,读写 等等

db.createUser({user: 'root', pwd: '123456', roles: ['root']})

验证是否添加成功,"db.auth(用户名,用户密码)" 这里用db.auth('root', '123456') 如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败...

上述是给root设置密码,现在要给特定的每个db设置权限,比如有一个库名字叫做Article,这里以Article这个库为例

第四:输入use Article

第五:给Article设置一个用户

db.createUser({user:'my123',pwd:'ps123456',roles: [{role:'readWrite',db:'Article'}]})

这样我们就设置成功了。mongodb默认没有开启访问控制的

第六:在我们配置的mongo.conf文件中将auth设置为了true,如下所示

dbpath = /var/mongodb/data  #数据文件存放目录,这里的路径按自己的路径填写,一定不要填错
logpath =  /var/mongodb/logs/log.log  #日志文件存放目录,这里的路径按自己的路径填写
port = 27017  #端口
fork = true  #以守护程序的方式启用,即在后台运行
nohttpinterface = true
auth = true # 是否开启校验用户,设置为true后数据库连接时需要输入用户名密码!!!!!!!!!!!!!

最后重新启动mongodb数据库,我们可以进入mongodb数据库安装路径中执行下列两个命令

killall mongod  

./mongod --config ./mongo.conf

这时,我们要想再去连接Article这个库,就需要用用户名和密码连接:

xxx.db('mongodb://your name: your pwd@127.0.0.1:27017/Article');

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值