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');