当前位置: 首页 > news >正文

mongodb的安装使用

一、实验目的

1、完成mongoDB的安装;

2、完成mongosh的安装;

3、定义用户,启动身份验证配置;验证用户登录;

4、完成实例01的练习;

二、实验内容:

实验环境

操作系统:Rocky-9.5 /CentOS Stream 9

MongoDB 版本:8.0.9

MongoDB Shell 版本:2.5.1

IP:10.1.1.58

Port:12107

配置步骤

(1)mongodb 的部署过程

#安装依赖

yum -y install libcurl openssl

# 直接命令安装

# 安装mongodb

yum -y install  https://repo.mongodb.org/yum/redhat/9/mongodb-org/8.0/x86_64/RPMS/mongodb-org-server-8.0.9-1.el9.x86_64.rpm

#若上传了安装包,安装mongodb

获取链接:Docs

yum -y install /root/mongodb-org-server-8.0.9-1.el9.x86_64.rpm                                                                           

#启动服务

systemctl start mongod.service && systemctl enable mongod

systemctl status mongod.service

#下载工具

yum -y install net-tools

#查看进程

netstat -naptlu |grep mongod

#查看当前mongodb 的版本

mongod --version

(2)部署mongodb的后台管理工具mongosh

#若未上传安装包

#安装mongosh

yum -y install https://downloads.mongodb.com/compass/mongodb-mongosh-2.5.1.x86_64.rpm

#若上传了安装包,安装mongodb

获取链接如下:Docs

yum -y install /root/mongodb-mongosh-2.5.1.x86_64.rpm

#安装内容

rpm -ql  mongodb-mongosh

#查看当前版本mongosh 版本

mongosh --version

(3)定义用户,启动身份验证配置;验证用户登录

实例操作

以下是一个完整的示例操作流程:

#启动 MongoDB Shell 并连接到服务器:

mongosh --host localhost --port 27017

#切换到 testdb 数据库:

use testdb

#创建 testuser 用户:

db.createUser({

user: "testuser",

pwd: "password123",

roles: [{ role: "readWrite", db: "testdb" }]

})

#启用身份验证并重启 MongoDB 实例

编辑 mongod.conf 文件,添加以下内容:

security:

authorization: "enabled"

#重启 MongoDB 服务:

sudo systemctl restart mongod

#使用 testuser 用户进行身份验证连接:

mongosh --host localhost --port 27017 -u "testuser" -p "password123" --

authenticationDatabase "testdb"

#删除 testuser 用户:

db.dropUser("testuser")

  1. 实例-01

以下是使用 MongoDB Shell 连接到本地 MongoDB 服务器,并执行一些基本操作的示例:

# 启动 MongoDB Shell

mongosh

# 连接到本地 MongoDB 服务器

test> show dbs

admin 40.00 KiB

config 72.00 KiB

local 40.00 KiB

test> use runoob

switched to db runoob

# 插入文档

runoob> db.mycollection.insertOne({ name: "Alice", age: 30 })

{

acknowledged: true,

insertedId: ObjectId('667cd8789a69705686ed70f2')

}

# 查询文档

runoob> db.mycollection.find()

[

{ _id: ObjectId('667cd8789a69705686ed70f2'), name: 'Alice', age: 30 }

]

# 更新文档

runoob> db.mycollection.updateOne({ name: "Alice" }, { $set: { age: 31 } })

{

acknowledged: true,

insertedId: null,

matchedCount: 1,

modifiedCount: 1,

upsertedCount: 0

}

#查询集合

runoob> show collections

mycollection

runoob>

# 删除文档

runoob> db.mycollection.deleteOne({ name: "Alice" })

{ acknowledged: true, deletedCount: 1 }

# 退出 MongoDB Shell

runoob> quit()

注意启用认证后,无认证模式使用show dbs会查看不了,得有管理员权限才能操作。所以要进行测试可以先注释掉下面的内容

编辑 mongod.conf 文件,添加以下内容:

security:

authorization: "enabled"

如果想在有启用认证的模式下进行示例操作需要创建管理员用户,登录进行操作

# 1. 以无认证模式连接

mongosh

# 2. 创建用户(在mongosh中执行)

use admin

db.createUser({

  user: "admin",

  pwd: "admin123",

  roles: ["root"]

})

# 3. 退出并启用认证

quit()

sudo vi /etc/mongod.conf  # 添加 security.authorization: enabled

sudo systemctl restart mongod

# 4. 重新登录验证

mongosh -u "admin" -p "admin123" --authenticationDatabase "admin"

show dbs  # 应成功列出数据库

三、实验总结

1.MongoDB 安装:成功安装了 MongoDB 8.0.9 版本,服务能够正常启动。

2.MongoDB Shell 安装:成功安装了 MongoDB Shell(mongosh)2.5.1 版本,可用于连接和管理 MongoDB。

3.用户定义与身份验证:成功创建了管理员用户 admin 和测试用户 testuser,并启用了身份验证。用户登录验证功能正常。

4.实例操作:完成了实例 01 的练习,包括数据库的基本操作(如插入、查询、更新、删除文档等)。

http://www.xdnf.cn/news/715969.html

相关文章:

  • 20250529-C#知识:分部类和分部方法
  • 小白畅通Linux之旅-----Linux日志管理
  • 【芯片设计中的交通网络革命:Crossbar与NoC架构的博弈C架构的博弈】
  • 在Linux环境里面,Python调用C#写的动态库,如何实现?
  • Java集合操作常见错误与最佳实践
  • OSCP备战-SickOs1.2靶场详细步骤
  • 第九章 MQTT报文
  • C primer plus (第六版)第六章 编程练习第10题
  • 关于《DAHSF》即《火小兔智慧开发平台V2.0》的碎碎念
  • ADC同步采样
  • XMOS以全新智能音频及边缘AI技术亮相广州国际专业灯光音响展
  • 【NebulaGraph】查询案例(七)
  • 两个频率比较接近的简谐振动叠加后会产生拍形
  • C#学习:基于LLM的简历评估程序
  • 4. 算法与分析 (1)
  • 【Dify系列教程重置精品版】第十一章:Dify与slenium
  • Flutter下的一点实践
  • 手动移植FreeRTOS
  • 用 Python 模拟雪花飘落效果
  • Oracle 临时表空间详解
  • Oracle的NVL函数
  • 前端面试题-HTML篇
  • C++:栈帧、命名空间、引用
  • 第三章:地下三层的技术遗产
  • JaCoCo 是什么
  • 系统架构设计师案例分析----经典架构风格特点
  • 挡片/测试晶圆(Dummy Wafer)通俗解析
  • 非线性声学计算与强化学习融合框架:突破复杂环境人机交互的新技术
  • C++进阶--C++11(04)
  • Golang 配置国内代理