Ubuntu安装Mongodb

一、安装 MongoDB Community Edition​

1. 更新系统并安装依赖
bash 复制代码
sudo apt update
sudo apt upgrade -y
sudo apt install -y gnupg curl
2. 导入 MongoDB 公钥
bash 复制代码
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor
3. 添加 MongoDB 仓库
bash 复制代码
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] \
https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/8.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
4. 安装 MongoDB
bash 复制代码
sudo apt update
sudo apt install -y mongodb-org

​二、启动与配置 MongoDB​

1. 启动服务并设置开机自启
bash 复制代码
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod  # 检查状态应为active (running)
2. 修改配置文件(可选)

编辑 /etc/mongod.conf 以允许远程连接或调整性能:

bash 复制代码
net:
  bindIp: 0.0.0.0  # 允许所有IP访问
  port: 27017
storage:
  journal:
    enabled: true  # 启用日志

重启服务生效:

bash 复制代码
sudo systemctl restart mongod

​三、安全配置​

1. 创建管理员用户
bash 复制代码
mongosh
use admin
db.createUser({
  user: "nandu",
  pwd: "nandu123",
  roles: ["root"]
})
exit
2. 启用认证

修改 /etc/mongod.conf

bash 复制代码
security:
  authorization: enabled

重启服务:

bash 复制代码
sudo systemctl restart mongod

​四、验证安装​

1. 连接测试
bash 复制代码
mongosh -u nandu -p nandu123 --authenticationDatabase admin

执行基础命令:

javascript 复制代码
db.version()  // 查看版本
show dbs      // 显示数据库
2. 远程连接(如配置了bindIp)

使用工具如 mongoshNavicat 连接 服务器IP:27017,输入认证信息


​常见问题解决​

  1. ​依赖错误​ ​:若安装失败,尝试先安装 libssl1.14:

    bash 复制代码
    echo "deb http://security.ubuntu.com/ubuntu focal-security main" | sudo tee /etc/apt/sources.list.d/focal-security.list
    sudo apt update
    sudo apt install libssl1.1
  2. ​端口冲突​ ​:确保 27017 端口未被占用。

相关推荐
learning_tom2 小时前
HTML图片标签及路径详解
linux·服务器·php
dbdr09012 小时前
Linux 入门到精通,真的不用背命令!零基础小白靠「场景化学习法」,3 个月拿下运维 offer,第二十六天
linux·运维·服务器·网络·python·学习
大白的编程日记.3 小时前
【Linux学习笔记】信号的深入理解之软件条件产生信号
linux·笔记·学习
buyutang_3 小时前
C/C++ Linux系统编程:线程控制详解,从线程创建到线程终止
linux·c语言·c++·学习
云的牧人3 小时前
Ubuntu 22 redis集群搭建
linux·运维·ubuntu
siriuuus3 小时前
Linux 磁盘扩容及分区相关操作实践
linux·运维·服务器
To_再飞行3 小时前
K8s 存储配置资源
linux·云原生·容器·kubernetes
小猪写代码4 小时前
Ubuntu 文件权限管理
linux·ubuntu
jz_ddk4 小时前
[Linux] Linux标准块设备驱动详解:从原理到实现
linux·运维·服务器·驱动开发
Gss7774 小时前
ansible变量+管理机密
linux·运维·ansible