MongoDB是目前最流行的文档型NoSQL数据库之一,它用类似JSON的BSON格式存储数据,不需要预先定义表结构,字段可以灵活增减,特别适合业务变化快、数据结构不固定的项目。本文以Ubuntu为例,完整讲解MongoDB的安装、基本使用以及常见问题的排查方法,整个过程不要求你有数据库基础。

一、安装前的准备工作
在动手安装之前,建议先用lsb_release -a查看自己的Ubuntu版本号。这一点很重要,因为MongoDB官方为不同Ubuntu版本提供了不同的软件源,版本对不上会导致安装失败或者服务无法启动。Ubuntu 20.04对应的源地址包含focal字段,22.04对应jammy,18.04对应bionic,配置源文件时要根据自己的实际情况选择。
需要说明的是,Ubuntu自带的软件源里虽然也有一个mongodb包,但那是社区维护的旧版本,官方早已不再推荐。正确做法是添加MongoDB官方apt源来安装官方构建的版本,这样才能获得最新的功能和安全补丁。另外,安装过程需要root权限,请确保你有sudo权限的账号。
二、在Ubuntu上安装MongoDB的完整步骤
下面以Ubuntu 22.04安装MongoDB 7.0为例。第一步,安装依赖工具并导入官方GPG密钥:
sudo apt-get install gnupg curl -y curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \ sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
第二步,创建源文件/etc/apt/sources.list.d/mongodb-org-7.0.list,写入如下内容:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
第三步,刷新软件源并安装:
sudo apt-get update sudo apt-get install -y mongodb-org
安装完成后可以执行mongod --version查看版本号,能正常输出说明二进制文件已经就位。如果apt-get update时提示GPG错误,多半是密钥导入那一步失败了,重新执行第一条命令即可。
三、启动服务并进入MongoDB Shell
MongoDB安装后不会自动启动,需要手动开启。用systemd管理服务最方便:
sudo systemctl start mongod sudo systemctl enable mongod # 设置开机自启 sudo systemctl status mongod # 查看运行状态
看到active (running)字样就说明服务已经跑起来了。接着在终端输入mongosh进入交互式Shell。注意MongoDB 6.0之后旧的mongo命令已经被移除,如果系统提示找不到命令,请安装新的Shell工具:sudo apt-get install -y mongodb-mongosh。
进入Shell后,先执行几个基本命令熟悉环境:db显示当前数据库,show dbs列出所有数据库,use mydb切换数据库(不存在会在首次写入时自动创建)。这种“用到才建”的机制和MySQL的显式CREATE DATABASE很不一样,新手要有个适应过程。
四、数据库与集合的基本操作
下面演示最常用的增删改查。先切到一个测试数据库,往users集合里插入一条文档:
use testdb
// 插入一条数据
db.users.insertOne({ name: "张三", age: 25, city: "北京" })
// 查询数据
db.users.find({ name: "张三" })
// 格式化输出
db.users.find().pretty()
// 更新数据
db.users.updateOne({ name: "张三" }, { $set: { age: 26 } })
// 删除数据
db.users.deleteOne({ name: "张三" })
// 删除整个集合
db.users.drop()
MongoDB的查询条件非常灵活,比如db.users.find({ age: { $gte: 20, $lt: 30 } })可以查出年龄在20到30之间的文档,$gte表示大于等于,$lt表示小于。这类操作符是日常使用频率最高的知识点,建议动手多试几个。
删除数据库要谨慎,命令是先use testdb切过去,再执行db.dropDatabase(),数据会立刻清空且无法恢复,生产环境千万不要随便执行。
五、常见问题与注意事项
1. 服务启动失败。执行sudo systemctl status mongod如果显示failed,先看日志找原因:sudo tail -50 /var/log/mongodb/mongod.log。最常见的报错是数据目录权限问题,可以用sudo chown -R mongodb:mongodb /var/lib/mongodb修复;如果是异常关机导致的锁文件残留,删除/var/lib/mongodb/mongod.lock后重启服务即可。
2. 远程连接被拒绝。默认配置只监听127.0.0.1,其他机器连不上是正常的。如需远程访问,编辑/etc/mongod.conf,把net部分的bindIp改成0.0.0.0,然后重启服务。但这样做之前务必先开启认证,否则数据库等于裸奔在公网上,很容易被勒索程序清库。
3. 开启密码认证。先进入Shell创建管理员账号,再修改配置文件启用security.authorization,最后重启:
use admin
db.createUser({
user: "admin",
pwd: "你的密码",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
# 编辑 /etc/mongod.conf,在文件中添加: # security: # authorization: enabled sudo systemctl restart mongod
4. 彻底卸载的方法。如果想重新安装或者清理环境,先停止服务,再卸载包、删除数据和日志:sudo apt-get purge mongodb-org*,然后删除/var/lib/mongodb和/var/log/mongodb两个目录。注意只要不删除数据目录,重装后原有数据依然还在,这也是保留数据的一种方式。
整体来看,Ubuntu上部署MongoDB的核心就是配好官方源、用systemd管好服务、进Shell练熟增删改查这三件事。把上面这些命令实际敲一遍,遇到问题对照日志排查,基本就能顺利入门了。
UbuntuMongoDB安装MongoDB使用教程修改时间:2026-09-13 02:18:28