Ubuntu系统离线安装MongoDB

Ubuntu22.04系统离线安装MongoDB

1、(在线)安装MongoDB

(1)查看Ubuntu版本,安装Ubuntu24的MongoDB官方仓库
cat /etc/lsb-release

若为Ubuntu24版本,由于该版本官方仓库中没有MongoDB的软件包,所以需要先添加MongoDB的官方库

(2)导入包管理系统使用的MongoDB公钥

下载 MongoDB 的 GPG 公钥文件

wget -qO - https://www.mongodb.org/static/pgp/server-7.0.asc -O mongodb.asc

将公钥文件移动到 /etc/apt/trusted.gpg.d/​ 目录中

sudo mv mongodb.asc /etc/apt/trusted.gpg.d/mongodb.gpg

创建 MongoDB 软件源列表文件,将 MongoDB 的软件包源添加到 APT 源列表中:

echo "deb [ arch\=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu \$(lsb\_release -cs)/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
(3)更新软件包列表
sudo apt-get update
(4)安装最新的MongoDB 7.0版本(适用于Ubuntu22和24)
sudo apt-get install -y mongodb-org
sudo apt-get install -y mongodb-org=7.0.12 mongodb-org-server=7.0.12 mongodb-org-shell=7.0.12 mongodb-org-mongos=7.0.12 mongodb-org-tools=7.0.12

2、(离线)安装MongoDB

(1)安装包下载地址:https://www.mongodb.com/try/download/community-kubernetes-operator

下载对应ubuntu系统版本的MongoDB,上传至服务器并解压,重命名,并移动文件夹至安装路径

tar -zxvf mongodb-linux-x86_64-ubuntu2204-7.0.12.tgz
mv /home/ubuntu/mongodb-linux-x86_64-ubuntu2204-7.0.12/ /home/ubuntu/mongodb/
mv /home/ubuntu/mongodb/ /usr/local/
(2)配置环境变量

为了方便使用 MongoDB,可以将 MongoDB 的二进制文件添加到系统的 PATH​ 中:

nano ~/.bashrc

添加以下内容:

export PATH=/usr/local/mongodb/bin:$PATH

保存退出,使配置生效:

source ~/.bashrc
(3)创建MongoDB相关目录
# 创建必要的目录
sudo mkdir -p /usr/local/mongodb/data/db
sudo mkdir -p /var/log/mongodb
sudo mkdir -p /var/run/mongodb

# 创建 mongodb 用户和组
sudo useradd -r -s /bin/false mongodb
sudo groupadd mongodb
sudo usermod -aG mongodb mongodb

# 创建日志文件并设置权限
sudo touch /var/log/mongodb/mongod.log
sudo chown mongodb:mongodb /var/log/mongodb/mongod.log
sudo chmod 777 /var/log/mongodb/mongod.log

# 设置目录权限
sudo chown -R mongodb:mongodb /usr/local/mongodb/data/db /var/log/mongodb /var/run/mongodb
sudo chmod 755 /var/log/mongodb /usr/local/mongodb/data/db

创建mongodb配置文件

sudo nano /etc/mongodb.conf

在文件中添加

storage:
  dbPath: /usr/local/mongodb/data/db
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log
net:
  port: 27017
  bindIp: 0.0.0.0
processManagement:
  fork: true
(4)设置MongoDB服务

创建服务文件

vim /etc/systemd/system/mongod.service

添加以下内容:

[Unit]
Description=MongoDB Database Service
After=network.target

[Service]
User=mongodb
ExecStart=/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data/db --logpath /var/log/mongodb/mongod.log --bind_ip=0.0.0.0 --port=27017
Restart=on-failure
PIDFile=/var/run/mongodb/mongod.pid

[Install]
WantedBy=multi-user.target

保存并退出,重新加载systemd 服务配置

sudo systemctl daemon-reload

3、运行MongoDB

(1)检查MongoDB运行状态
sudo systemctl status mongod

若未启动

sudo systemctl start mongod
(2)设置开启自启
sudo systemctl enable mongod

4、开启MongoDB防火墙

如果服务器有防火墙并且希望允许远程访问 MongoDB,请确保开放默认的 MongoDB 端口 27017​:

sudo ufw allow 27017

5、MongoDB初始化

(1)进入MongoDB的shell
mongosh
(2)创建管理员账户

在>提示符下,运行以下命令,切换到admin数据库

use admin

然后,创建一个名为admin​,密码为password​的管理员账户

db.createUser({user: "用户", pwd: "密码", roles: [ { role: "root", db: "admin" }, "readWriteAnyDatabase" ]})

完成后,退出MongoDB的shell

exit

6、修改MongoDB的配置文件

(1)端口的修改及绑定地址

默认情况下,MongoDB 默认端口为27017​,且只绑定到本地主机127.0.0.1​,如果你希望允许远程主机连接到 MongoDB,需要修改bindIp​选项

vim /etc/mongod.conf

找到以下内容并修改

net:
  bindIp: 0.0.0.0

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

这将允许 MongoDB 监听所有 IP 地址。如果你只希望特定的 IP 可以连接,可以将0.0.0.0​替换为具体的 IP 地址

(2)启用身份验证和授权

进入配置文件后,找到注释内容

#security:

取消注释,并在下面添加

security:
  authorization: enabled

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(3)修改数据目录

MongoDB 的数据默认存储在 /var/lib/mongodb​ 目录中。如果希望更改数据存储的位置,可以修改 dbPath​ 选项:

storage:
  dbPath: /自定义路径
(4)日志配置(logPath​ 和 logRotate​)

默认的 MongoDB 日志文件存储在 /var/log/mongodb/mongod.log​,可以修改日志文件的路径和日志轮转策略:

systemLog:
  destination: file
  logAppend: true
  path: /your/custom/path/mongod.log

  • logAppend: true​ 表示追加日志而不是覆盖。
  • logRotate: reopen​ 是常见的日志轮转方式之一,当使用 logrotate​ 进行日志轮转时,这个设置非常有用。
(5)复制集配置(replication​)

如果需要设置一个 MongoDB 复制集,需要在配置文件中启用复制集:

replication:
  replSetName: "替换为复制集名称"

(6)持久化引擎 (storage.engine​)

MongoDB 支持不同的存储引擎,默认是 wiredTiger​,如果需要使用不同的存储引擎,可以配置:

storage:
  engine: wiredTiger

(7)限制内存使用 (wiredTiger.cacheSizeGB​)

如果需要控制 MongoDB 的内存使用,可以调整 wiredTiger​ 引擎的缓存大小:

storage:
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1

这个设置将缓存大小限制为 1GB,可根据需要调整

(8)日志记录级别 (systemLog.verbosity​)

可以通过修改 systemLog​ 部分来调整 MongoDB 的日志记录级别,日志级别范围是 0(最少日志)到 5(最多详细日志):

systemLog:
  verbosity: 0
(9)设置最大连接数 (maxIncomingConnections​)

可以限制 MongoDB 的最大并发连接数:

net:
  maxIncomingConnections: 100

(10)修改完成后,输入:wq​保存并关闭文件,并重启Mongodb服务
sudo systemctl restart mongod

7、MongoDB的卸载

(1)停止MongoDB服务

sudo service mongod stop

(2)删除包

sudo apt-get purge mongodb-org*

(3)删除数据库和日志文件

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值