安装 4.4.26 版本
1. mongodb-linux-x86_64-rhel70-4.4.26.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.26.tgz
2. 在mongodb目录下创建data、logs目录
mkdir -p data logs
2.1 创建logs/mongodb.log文件
touch mongodb.log
2.2 在mongodb 的bin目录下创建mongodb.conf配置文件
touch mongodb.conf
2.3 配置mongodb.conf
# 数据文件存放目录
dbpath = /opt/mongodb4.4.26/data
# 日志文件存放目录
logpath = /opt/mongodb4.4.26/logs/mongodb.log
# 日志使用追加代替覆盖
logappend=true
# 端口
port = 27017
# 以守护程序的方式启用,即在后台运行
fork = false
# 认证模式
auth=true
# 远程连接(远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问)
bind_ip=0.0.0.0
3. 启动mongodb
3.1 启动mongodb命令
./mongod -f mongodb.conf
3.2 查看后端进程是否启动
ps -ef|grep mongod
3.3 将mongodb命令添加到环境变量中
vim /etc/profile
# 添加mongodb环境变量
export PATH=$PATH:/opt/mongodb4.4.26/bin
# 重新加载配置文件
source /etc/profile
# 检查环境变量
echo $PATH
4. 配置mongodb 自动启动服务(服务器重启才生效)
vim /etc/init.d/mongodb
#!/bin/bash
#chkconfig: 2345 81 96
#description: mongodb
start() {
/opt/mongodb4.4.26/bin/mongod --config /opt/mongodb4.4.26/bin/mongodb.conf
}
stop() {
/opt/mongodb4.4.26/bin/mongod --config /opt/mongodb4.4.26/bin/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
5. 添加自启动脚本执行权限
chmod 775 /etc/init.d/mongodb
chkconfig --add mongodb
chkconfig mongodb on
启动MongoDB,
service mongodb start # 启动MongoDB;
service mongodb stop # 停止MongoDB;
service mongodb restart # 重启服务
6. 开启认证
MongoDB开启auth验证
6.1 此时需要先把mongo进程给关闭,把配置文件中的auth改为false,然后重新启动
6.2 启动后到admin集合下创建超级管理员账户,创建后,再把配置文件中的auth改为true,重新启动mongo进程进可以了。
这个创建超级用户是在 第7步
6.3 这时候我们就可以使用超级管理员来创建一般用户,分别给予不同权限
7. 创建超级用户:
超级用户必须到admin数据库下创建
#切换到admin数据库
use admin
#使用db.createUser()函数在admin数据库下创建用户
db.createUser({user:"root",pwd:"zhenghu",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]})
# 创建好超级用户后
在停止mongoDB
配置文件认证
pwd 进入 /opt/mongodb4.4.26/bin
修改
vim mongodb.conf
# 认证模式 true/false
auth=true
--------------------
#切换到admin数据库
use admin
#进行验证,认证通过返回:1
db.auth("root","zhenghu")
8. 使用超级用户创建 普通用户
//切换或创建数据库,例:test
use test
db.createUser({user:"zhenghu",pwd:"zhenghu",roles:[{role:"readWrite",db:"test"}]})
查看用户
show users
9. 查看和删除用户:
#切换到admin数据库
use admin
#查看所有用户
db.system.users.find()
#删除用户 删除时需要切换到该账户所在的数据库
db.system.users.remove({user:"user"})