在Linux上轻松搭建MongoDB:一步步教您安装和配置

趁着公司月度启动会时间,想着把前段时间做的商城项目部署到线上。于是就有了... 本文将引导您完成在Linux操作系统上安装MongoDB的过程,无论您是新手还是有经验的用户,我们将提供详细的步骤和提示,确保您能够成功安装并开始使用MongoDB。无需担心复杂的命令或配置,我们将尽力简化过程,使您能够迅速搭建起一个可靠的MongoDB环境。让我们一起开始这个令人兴奋的旅程,探索MongoDB的无限可能性吧!

一、MongoDB 安装

1.下载MongoDB压缩包

bash 复制代码
cd /usr/local
mkdir mongodb
cd mongodb
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2204-7.0.0.tgz
tar -zxvf mongodb-linux-x86_64-ubuntu2204-7.0.0.tgz
sudo mv mongodb-linux-x86_64-ubuntu2204-7.0.0.tgz/* ./

可前往 MongoDB 官网 下载所需版本

2.创建MongoDB数据存储文件和日志文件

bash 复制代码
mkdir data
mkdir logs
cd logs
touch mongodb.log

3.增加MongoDB配置文件

bash 复制代码
vim /etc/mongodb.conf

mongodb.conf配置文件

ini 复制代码
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#端口号 默认为27017
port=27017
#开启子进程
fork=true
#开启认证,必须添加用户,先不开启
#auth=true
#允许远程访问
bind_ip=0.0.0.0

4.将MongoDB服务加入环境变量

bash 复制代码
vim /etc/profile

在最后一行添加:

bash 复制代码
#mongodb
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin

使配置文件生效:

bash 复制代码
source /etc/profile

二、启动MongoDB服务

1.使用配置文件启动MongoDB

bash 复制代码
mongod -f /etc/mongod.conf

2.查看MongoDB是否已经启动

perl 复制代码
netstat -lanp | grep "27017"

三、MongoDB Shell安装

MongoDB 6.0 以后做出了重大改变,已不再默认为你安装shell工具,因此需要额外安装一个shell------MongoDB Shell,这个工具被称为 mongosh

1.下载 MongoDB Shell

bash 复制代码
cd /usr/local
mkdir mongodbsh
cd mongodbsh
wget https://downloads.mongodb.com/compass/mongodb-mongosh_1.10.6_amd64.deb

随意找个地方存储MongoDB Shell安装包,只要我们能找到就行

2.安装 MongoDB Shell

css 复制代码
sudo dpkg -i mongodb-mongosh_1.10.6_amd64.deb

Q:deb文件是什么格式?

A:deb是Debian软件包格式,是Debian系统(包含Debian和Ubuntu)专属的安装包格式,配合APT软件管理系统,成为了当前在Linux下非常流行的一种安装包。deb需要用dpkg命令。

可前往 MongoDB 官网 下载所需的MongoDB Shell版本


四、添加用户,安全认证

1.进入MongoDB数据库

复制代码
mongosh

在任意目录下,输入命令mongosh即可进入数据库。显示如下,已经成功进入MongoDB数据库

yaml 复制代码
Current Mongosh Log ID: 64f1912884646fa130f5ad04
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.10.6
Using MongoDB:          7.0.0
Using Mongosh:          1.10.6
For mongosh info see: https://docs.mongodb.com/mongodb-shell/
test>

默认进入的是 test 数据库,使用 show dbs 查看所有数据库

MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。

2.添加用户

首先必须使用 admin 数据库,进行新用户授权

css 复制代码
use admin
db.createUser({user:'test',pwd:'123456',roles:[{role:'root',db:'admin'}]})

执行成功后在终端可以看到如下信息,表示创建成功啦

css 复制代码
{ ok: 1 }

创建用户成功后,关闭MongoDB服务。

scss 复制代码
db.shutdownServer()

然后需要到配置文件中修改配置,启用安全认证。

bash 复制代码
vim /etc/mongodb.conf

auth 设置为 true

ini 复制代码
auth=true

最后启动MongoDB服务,进入数据库测试

bash 复制代码
mongod -f /etc/mongod.conf
mongosh
show dbs

show dbs 此时会出现一下错误,说明我们的安全认证用户配置生效了

arduino 复制代码
MongoServerError: Command listDatabases requires authentication

这时我们需要进入 admin 数据库,进行认证,输出 { ok: 1 } 就是认证成功了

perl 复制代码
use admin
db.auth('test','123456')

至此,我们的MongoDB安装也告一段落。

相关推荐
AI全栈实验室4 天前
MongoDB迁移金仓踩了5个坑,最后一个差点回滚
mongodb
数据知道5 天前
MongoDB 元素查询运算符:使用 `$exists` 检查字段是否存在及处理缺失字段
数据库·mongodb
数据知道5 天前
MongoDB 批量写操作:`bulkWrite()` 在数据迁移与清洗中的高性能应用
数据库·mongodb
数据知道5 天前
MongoDB 数组更新操作符:`$push`、`$pull`、`$addToSet` 管理列表数据
数据库·mongodb
数据知道5 天前
MongoDB 更新操作符 `$set` 与 `$unset`:精准修改字段与删除字段
数据库·mongodb
数据知道5 天前
MongoDB 数值更新原子操作:`$inc` 实现点赞、计数器等高并发原子操作
数据库·算法·mongodb
数据知道6 天前
MongoDB 数组查询专项:`$all`、`$elemMatch` 与精确匹配数组的使用场景
数据库·mongodb
数据知道6 天前
MongoDB 正则表达式查询:在 MongoDB 中实现模糊搜索与索引优化陷阱
数据库·mongodb·正则表达式
正在走向自律6 天前
文档数据库替换新范式:金仓数据库MongoDB兼容性深度解析与实践指南
数据库·mongodb·国产数据库·金仓数据库
I'mAlex7 天前
金仓数据库平替MongoDB实操解析:多模融合赋能企业文档数据管理国产化升级
数据库·mongodb·kingbasees·金仓数据库