MongoDB 4.4.1 创建root用户

目录

安装MongoDB 4.4.1 

运行MongoDB

卸载MongoDB

创建root用户

登陆MongoDB


我的系统环境

Ubuntu : 18.04

云服务商 : AWS(亚马逊云)

安装MongoDB 4.4.1 

MongoDB 4.4版本 安装参考 : https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

1. 添加公钥

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

2.创建MongoDB文件列表,包含了很多版本的镜像链接,有3.6版本,4.4版本

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

3. 更新软件包

sudo apt-get update

4.选择版本安装

sudo apt-get install -y mongodb-org=4.4.1 mongodb-org-server=4.4.1 mongodb-org-shell=4.4.1 mongodb-org-mongos=4.4.1 mongodb-org-tools=4.4.1

4.1 安装最新的稳定版本

sudo apt-get install -y mongodb-org

5. apt-get更新版本时,防止意外升级,可设置固定版本

echo "mongodb-org hold" | sudo dpkg --set-selections
echo "mongodb-org-server hold" | sudo dpkg --set-selections
echo "mongodb-org-shell hold" | sudo dpkg --set-selections
echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
echo "mongodb-org-tools hold" | sudo dpkg --set-selections

运行MongoDB

1. 查看系统平台

ps --no-headers -o comm 1

2.启动

sudo systemctl start mongod

2.1 启动报错可以刷新进程服务

   报错内容:  Failed to start mongod.service: Unit mongod.service not found.

sudo systemctl daemon-reload

3. 查看状态 和 开机启动 和 停止启动 和 重启

## 查看状态
sudo systemctl status mongod

## 开机启动
sudo systemctl enable mongod

## 停止服务
sudo systemctl stop mongod

## 重启
sudo systemctl restart mongod

4. 使用MongoDB

mongo

卸载MongoDB

1. 卸载软件

## 停止服务
sudo service mongod stop

## 卸载软件
sudo apt-get purge mongodb-org*

2. 删除数据库文件(慎用)

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

创建root用户

1.  MongoDB的内置角色

    root 角色由以下角色组合: 

官方文档 : https://docs.mongodb.com/manual/reference/built-in-roles/

2.访问控制简介

  默认安装后未开启访问控制,在开启访问控制之前,需要创建第一个用户root来进行管理整个mongodb的服务.

  未开启访问控制下,创建第一个用户.

  官方文档: https://docs.mongodb.com/manual/tutorial/enable-authentication/


 

3.创建root用户

use admin;
db.createUser(
  {
    user: "root",
    pwd: "Yang1104&&",
    roles: [ "root"]
  }
)

3.1 使用官方推荐的方法 调用passwordPrompt() 提示用户输入密码

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: passwordPrompt(), // or cleartext password
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

4. 查看用户

// 方式一
db.system.users.find().pretty();

// 方式二
show users;

5. 关闭mongodb实例,并退出控制终端

db.adminCommand( { shutdown: 1 } );

// 退出终端
exit;

6. 启用访问控制


方式1: 启动命令添加参数 --auth

mongod --auth --port 27017 --dbpath /var/lib/mongodb

方式2:  修改配置文件

sudo vim /etc/mongod.conf

添加如下配置参数

security:
    authorization: enabled

给mongodb添加权限,防止mongodb开启访问控制后无法启动,启动如下错误信息:

● mongod.service - MongoDB Database Server
   Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Mon 2020-11-16 09:01:01 UTC; 40s ago
     Docs: https://docs.mongodb.org/manual
  Process: 15332 ExecStart=/usr/bin/mongod --config /etc/mongod.conf (code=exited, status=14)
 Main PID: 15332 (code=exited, status=14)

添加权限: 

sudo chown -R mongodb:mongodb /var/lib/mongodb
sudo chown -R mongodb:mongodb /var/log/mongodb
sudo chown mongodb:mongodb /tmp/*.sock

登陆MongoDB

mongo -u root -p

## 官网推荐示例
mongo --port 27017  --authenticationDatabase "admin" -u "myUserAdmin" -p

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值