centos7 部署mongodb4.0.14(详细步骤)

1、下载安装包

cd /opt/
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.14.tgzer

2、解压包
tar -zxvf mongodb-linux-x86_64-4.0.14.tgz

3、重命名
mv mongodb-linux-x86_64-4.0.14 /usr/local/

4、新建存储路径
mkdir /usr/local/mongodb/data/
mkdir /usr/local/mongodb/logs/
mkdir /usr/local/mongodb/etc/

5、创建配置和日志文件
touch mkdir /usr/local/mongodb/logs/mongodb.log

vim mkdir /usr/local/mongodb/etc/mongodb.conf
#指定数据库路径
dbpath=/usr/local/mongodb/data

#指定MongoDB日志文件,注意是指定文件不是目录
logpath=/usr/local/mongodb/logs/mongodb.log

#指定服务端口号,默认端口27017
port=27017

#以守护进程的方式运行MongoDB,创建服务器进程,即后台运行
fork=true

#关闭日志选项(开启的话,MongoDB的数据操作将会写入到journal文件夹的文件里)
journal=false

#绑定服务IP,若绑定127.0.0.1,则只能本机访问;若绑定0.0.0.0,则所有人都可以访问。
bind_ip=0.0.0.0

#开启用户认证
auth=true

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true

6、配置环境变量
export PATH=$PATH:/usr/local/mongodb/bin/

7、启动mongodb
/usr/local/mongodb/bin/mongod -f …/etc/mongodb.conf

8、使用./mongo登录并创建账号密码
/usr/local/mongodb/bin/mongo
use admin
db.createUser({user:“admin”,pwd:“123456”,roles:[{role:“userAdminAnyDatabase”,db:“admin”}]})
db.auth(“admin”, “123456”) #如果返回1,则表示成功。
db.auth() #方法理解为用户的验证功能

9、关闭mongodb server
db.shutdownServer 若出下下面报错
已经完成登录验证 并且成功 但是在使用db.shutdownServer()时 依旧出错
2019-12-24T19:03:42.683+0800 E QUERY [js] Error: shutdownServer failed: {
“ok” : 0,
“errmsg” : “not authorized on admin to execute command { shutdown: 1.0, lsid: { id: UUID(“3db00cd6-842b-4c2b-a8e5-d5db6bdf3bc6”) }, $db: “admin” }”,
“code” : 13,
“codeName” : “Unauthorized”
} :

然后将这个角色赋予admin后 就可以继续使用了
db.grantRolesToUser( “admin” , [ { role: “hostManager”, db: “admin” } ])

语法:

db.grantRolesToUser( “用户名” , [ { role: “hostManager”, db: “admin” } ])

hostManager:提供了监控和管理服务器的权限,包括shutdown节点,logrotate, repairDatabase等。
10、可以使用mongodb命令show users,查看已有用户
show users
在这里插入图片描述
11、进入mongodb 使用admin创建其他数据库账号密码
use admin
db.auth(“admin”,“123456”)

12、新建你需要管理的mongodb数据的账号密码

use test
db.createUser({user:“test”,pwd:“123456”,roles:[{role:“dbOwner”,db:“test”}]})
role:dbOwner 代表数据库所有者角色,拥有最高该数据库最高权限。比如新建索引等。
在这里插入图片描述

db.createUser({user:“test2”,pwd:“123456”,roles:[{role:“readWrite”,db:“test”}]})
该用户用于该数据的读写,只拥有读写权限
在这里插入图片描述