mongoDB数据库创建或添加账号

MongoDB数据库默认安装好之后就可以直接使用,不需要账号密码登录就可以直接对数据库进行操作。但是这样是很危险的,因为所有人都可以连接数据进行数据库操作。万一被删库跑路了怎么办2333
所以接下来学习怎么为MongoDB添加账号

在MongoDB数据库中有两种账号,一种是超级管理员,一种是普通账号。超级管理员账号可以对所有数据库进行操作,而普通账号只能对某一个数据库进行操作。在创建超级管理员账号之后才能够创建普通账号。

步骤:

  1. 以系统管理员的方式运行powershell
    在开始菜单搜索 powershell ,右键以管理员身份运行
    在这里插入图片描述
  2. 连接数据库 mongo
    输入 mongo 命令后按回车,如果输出一大堆白色的内容说明连接成功。如果输出红色字体报错了看看是不是和我遇到的这个错误一样,点击链接
    在这里插入图片描述
  3. 查看数据库 show dbs
    在这里插入图片描述
  4. 切换到admin数据库 use admin
    在这里插入图片描述
    我们要进入到admin数据库中才能够创建超级管理员账号
  5. 创建超级管理员账户 db.createUser()
    这个方法接收一个对象作为参数,user是固定属性代表用户名,pwd代表密码。还有一个roles属性,代表角色。有些角色在MongoDB数据库中的内置的,比如root,表示超级管理员角色。roles属性接收一个数组作为参数,可以拥有多个角色。
    在这里插入图片描述
  6. 切换到blog数据 use blog
    接下来是准备创建普通账号,普通账号是针对具体某一个数据库的,所以你要为哪一个数据库添加普通账号就需要切换到哪一个数据库。使用 use+数据库名称 命令就可以切换数据库。我这里演示是准备在blog这个数据库创建普通账号。
    在这里插入图片描述
  7. 创建普通账号 db.createUser()
    readWrite,这个也是内置的角色,表示拥有读和写的权限
    在这里插入图片描述
    输入exit 命令退出数据库操作环境
    在这里插入图片描述
  8. 卸载mongodb服务
    1. 停止服务 net stop mongodb
    2. mongod --remove

这个服务是我们在安装数据库的时候主动帮我们创建好的,让MongoDB以服务的形式运行在计算机当中,而且服务是开机自启动的,所以之前在连接数据库的时候都不需要手动开启数据库软件。现在需要卸载之后重新创建。
在这里插入图片描述
在这里插入图片描述

  1. 创建mongodb服务
    –logpath是指定日志的输出的位置(一般是输出到你安装MongoDB的位置那里的),dbpath是指定数据库的存储目录(这个和日志目录一般是邻近的),我下面写的这个是安装时候默认的目录(也就是没有更改安装路径时候的位置),如果你安装的时候更改了安装路径,找到你的位置替换下面的路径就好。
    –-auth参数表示当前数据库不能再在没有账号登录的状态下进行操作
mongod --logpath="C:\Program Files\MongoDB\Server\4.1\log\mongod.log" --dbpath="C:\ProgramFiles\MongoDB\Server\4.1\data" --install –-auth

在这里插入图片描述

  1. 启动mongodb服务 net start mongodb
    在这里插入图片描述

在项目中使用账号连接数据库

      mongoose.connect('mongodb://user:pass@localhost:port/database')

connect.js文件

const mongoose =require('mongoose');
mongoose.connect('mongodb://sa:123456@localhost:27017/blog', { useNewUrlParser: true,useUnifiedTopology: true })
    .then(()=>console.log('数据库连接成功'))
    .catch((err)=>console.log('数据库连接失败',err))

使用MongoDB Compass连接的时候要使用账号登录了

在这里插入图片描述

使用powershell命令行进入数据库

通过db.auth命令就可以登录选择的数据库,返回1就代表登录成功
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值