在Ubuntu上安装MongoDB的详细步骤
在安装前,确保系统包列表是最新的,以避免依赖冲突:
sudo apt update && sudo apt upgrade -y
为确保下载的软件包来自官方且未被篡改,需导入MongoDB的GPG密钥。推荐使用signed-by
方式(更安全):
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg
注:若使用旧版Ubuntu(如18.04),可使用传统方式
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
,但apt-key
已被弃用。
根据Ubuntu版本替换focal
(Ubuntu 20.04)、jammy
(Ubuntu 22.04)或noble
(Ubuntu 24.04),创建源列表文件:
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
提示:
$(lsb_release -cs)
会自动获取当前Ubuntu版本的代号,避免手动输入错误。
添加源后,更新包列表并安装MongoDB社区版:
sudo apt update
sudo apt install -y mongodb-org
安装完成后,立即启动服务并配置开机自动启动:
sudo systemctl start mongod # 启动服务
sudo systemctl enable mongod # 设置开机自启
检查MongoDB服务是否运行正常:
sudo systemctl status mongod
若输出显示active (running)
,则表示服务已成功启动。也可通过MongoDB Shell连接测试:
mongo
若进入Shell界面(显示`>”),则说明安装成功。
编辑/etc/mongod.conf
以调整核心参数(如数据目录、日志路径、端口、绑定IP等):
sudo nano /etc/mongod.conf
常见修改项:
storage:
dbPath: /var/lib/mongodb # 数据存储路径(默认即可)
journal:
enabled: true # 启用日志(确保数据安全)
systemLog:
destination: file # 日志输出到文件
logAppend: true # 追加日志(避免覆盖)
path: /var/log/mongodb/mongod.log
net:
port: 27017 # 默认端口(可修改,如27018)
bindIp: 127.0.0.1 # 绑定IP(127.0.0.1仅本地访问;0.0.0.0允许远程访问,需配合安全配置)
修改后重启服务生效:
sudo systemctl restart mongod
为防止未授权访问,需开启身份验证并创建管理员用户:
# 编辑配置文件,启用授权
sudo nano /etc/mongod.conf
找到security
部分,添加:
security:
authorization: enabled
重启服务:
sudo systemctl restart mongod
连接MongoDB Shell并创建管理员用户(以admin
用户为例):
mongo
use admin
db.createUser({
user: "admin",
pwd: "your_strong_password", # 设置强密码
roles: ["root"] # 分配root角色(拥有所有权限)
})
exit
此后连接需使用用户名和密码:
mongo -u admin -p your_strong_password --authenticationDatabase admin
若系统启用了ufw
防火墙,需允许MongoDB默认端口(27017):
sudo ufw allow 27017/tcp
sudo ufw reload
提示:若
bindIp
设置为0.0.0.0
(允许远程访问),需确保仅允许可信IP访问,避免暴露数据库。
通过以上步骤,你已在Ubuntu上成功安装并配置了MongoDB。可根据业务需求进一步优化性能(如调整缓存大小、分片集群)或扩展功能(如复制集、GridFS)。