mongodb的安装使用

发布于:2025-05-31 ⋅ 阅读:(20) ⋅ 点赞:(0)

一、实验目的

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 的练习,包括数据库的基本操作(如插入、查询、更新、删除文档等)。