Ubuntu等Linux系统详细安装MongoDB教程
在Linux系统上安装 MongoDB 数据库可能对新手来说有些挑战。下面将以 Ubuntu 系统为例,详细介绍在Linux系统上安装MongoDB的步骤。😊
📌 前言
MongoDB 是一个基于分布式文件存储的开源NoSQL数据库,被广泛应用于现代应用程序开发中。它以其高性能、高可用性和自动扩展等特性,成为开发者的首选。
🛠 安装步骤概览
flowchart TD
A[开始] --> B[导入公钥]
B --> C[添加MongoDB源]
C --> D[更新包数据库]
D --> E[安装MongoDB]
E --> F[启动并配置MongoDB]
F --> G[测试安装]
G --> H[结束]
📖 详细安装步骤
步骤一:导入MongoDB公钥🔑
首先,导入MongoDB官方提供的GPG公钥,以确保安装包的合法性。
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
解释:
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc
:使用wget
命令以静默模式下载MongoDB 6.0版本的公钥,并将输出定向到标准输出。sudo apt-key add -
:以超级用户权限将标准输入中的公钥添加到系统的可信任密钥列表。
步骤二:添加MongoDB源📥
创建一个指向MongoDB官方软件仓库的列表文件。
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
解释:
echo "..."
:输出一段字符串。deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/6.0 multiverse
:指定了MongoDB软件包的下载地址。arch=amd64,arm64
:适用于64位系统。$(lsb_release -sc)
:获取Ubuntu的代号,如focal
。
sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
:将输出内容写入到指定的列表文件中。
步骤三:更新本地包数据库🔄
更新系统的包列表,以识别新添加的MongoDB源。
sudo apt-get update
解释:
sudo apt-get update
:以超级用户权限更新包管理器的本地索引。
步骤四:安装MongoDB🚀
安装最新稳定版本的MongoDB。
sudo apt-get install -y mongodb-org
解释:
sudo apt-get install -y mongodb-org
:以超级用户权限安装MongoDB,-y
选项表示自动确认安装。
步骤五:启动并配置MongoDB⚙️
1. 启动MongoDB服务
sudo systemctl start mongod
解释:
sudo systemctl start mongod
:以超级用户权限启动MongoDB服务。
2. 设置MongoDB服务开机自启
sudo systemctl enable mongod
解释:
sudo systemctl enable mongod
:配置MongoDB服务在系统启动时自动运行。
步骤六:验证MongoDB是否成功运行✅
sudo systemctl status mongod
解释:
sudo systemctl status mongod
:查看MongoDB服务的运行状态。如果显示为 active (running),则表示启动成功。
📝 重要配置说明
修改配置文件
MongoDB的默认配置文件位于 /etc/mongod.conf
。根据需要,可以修改以下配置:
- 绑定IP地址:默认情况下,MongoDB只监听本地
127.0.0.1
。如果需要远程连接,需要修改为0.0.0.0
。
示例:
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
解释:
net.port
:设置MongoDB监听的端口,默认是 27017。net.bindIp
:设置MongoDB绑定的IP地址,0.0.0.0
表示监听所有网络接口。
重启MongoDB服务
在修改配置文件后,需要重启服务使配置生效。
sudo systemctl restart mongod
解释:
sudo systemctl restart mongod
:以超级用户权限重启MongoDB服务。
🔒 安全性设置
为了确保数据库的安全,建议启用身份验证。
创建管理员用户
mongo
进入MongoDB Shell后,执行以下命令:
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
解释:
use admin
:切换到 admin 数据库。db.createUser({...})
:创建一个名为 admin 的用户,具有在所有数据库上管理用户的权限。
启用身份验证
在配置文件 /etc/mongod.conf
中,找到并修改以下内容:
security:
authorization: enabled
解释:
security.authorization
:启用后,MongoDB将要求所有客户端进行身份验证。
重启MongoDB服务
sudo systemctl restart mongod
🎯 测试连接
使用新创建的管理员账户连接MongoDB:
mongo -u admin -p your_password --authenticationDatabase admin
解释:
mongo
:启动MongoDB Shell。-u admin
:指定用户名为 admin。-p your_password
:指定密码。--authenticationDatabase admin
:指定认证数据库为 admin。
📊 安装流程图
flowchart LR
A[开始安装] --> B[导入公钥]
B --> C[添加MongoDB源]
C --> D[更新包数据库]
D --> E[安装MongoDB]
E --> F[启动MongoDB服务]
F --> G{是否需要远程连接?}
G -- 是 --> H[修改配置文件]
H --> I[重启MongoDB服务]
G -- 否 --> J[直接测试]
I --> J[测试MongoDB]
J --> K[安装完成]
💡 注意事项
- 防火墙配置:如果需要远程连接,确保防火墙开放了 27017 端口。
- 数据备份:定期备份数据库数据,防止意外丢失。
🛡 防火墙设置(以UFW为例)
sudo ufw allow 27017
解释:
sudo ufw allow 27017
:在UFW防火墙中允许 27017 端口的访问。
🚀 卸载MongoDB(可选)
如果需要卸载MongoDB,可以执行以下命令:
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb
解释:
sudo apt-get purge mongodb-org*
:卸载MongoDB包及其配置文件。sudo rm -r /var/log/mongodb
:删除MongoDB的日志文件。sudo rm -r /var/lib/mongodb
:删除MongoDB的数据文件。
希望本教程能帮助您在 Ubuntu 等Linux系统上成功安装和配置 MongoDB 数据库!🎉