首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CentOS 7 安装MongoDB详细步骤

CentOS 7 安装MongoDB详细步骤

原创
作者头像
用户10991945
发布于 2026-10-31 14:57:14
发布于 2026-10-31 14:57:14
670
举报

好的,以下是以腾讯云 CentOS 7 云服务器(https://cloud.tencent.com/product/lighthouse?Is=sdk-topnav)为例的 MongoDB 详细安装与配置步骤,涵盖从安全组、系统准备到远程访问、认证等全流程。


🚀 一、前提条件

✅ 1. 登录腾讯云控制台

代码语言:javascript
复制
ssh root@<你的公网IP>

🔒 二、腾讯云安全组配置(关键!)

在本地连接 MongoDB 前,必须先在腾讯云控制台开放端口:

  1. 登录 腾讯云控制台
  2. 进入 云服务器 → 找到你的实例 → 点击 更多 → 网络和安全组 → 安全组
  3. 点击安全组 ID 进入规则管理
  4. 添加一条 入方向规则:

类型

优先级

协议端口

来源

策略

自定义

1

TCP:27017

0.0.0.0/0

允许

⚠️ 生产环境建议限制来源 IP,如只允许你的固定 IP 访问。


🛠 三、系统准备

1. 更新系统并安装必要工具

代码语言:javascript
复制
sudo yum update -y
sudo yum install -y wget curl net-tools vim

2. 关闭 SELinux(可选但推荐)

代码语言:javascript
复制
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

验证:

代码语言:javascript
复制
getenforce
# 应返回 Permissive 或 Disabled

3. 防火墙配置

代码语言:javascript
复制
sudo systemctl stop firewalld
sudo systemctl disable firewalld

💡 如果你希望保留防火墙,也可以仅开放 27017: sudo firewall-cmd --permanent --add-port=27017/tcp sudo firewall-cmd --reload


📦 四、安装 MongoDB(推荐 YUM 方式)

1. 创建 MongoDB 仓库文件

代码语言:javascript
复制
sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo

写入以下内容(以 MongoDB 4.4 为例):

代码语言:javascript
复制
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

💡 如需其他版本,替换 4.4 为 5.0、6.0 等。 注意:MongoDB 5.0+ 需要 CPU 支持 AVX 指令集,部分老款腾讯云服务器可能不支持,此时需降级到 4.4。

2. 安装 MongoDB

代码语言:javascript
复制
sudo yum install -y mongodb-org

这将自动安装:

  • mongodb-org-server
  • mongodb-org-mongos
  • mongodb-org-shell
  • mongodb-org-tools

3. 启动 MongoDB 服务

代码语言:javascript
复制
sudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod

正常输出应包含 active (running)。


🧪 五、验证安装

代码语言:javascript
复制
mongo --eval 'db.runCommand({ connectionStatus: 1 })'

如果返回:

代码语言:javascript
复制
{ "ok": 1, ... }

说明安装成功。


🌐 六、配置远程访问

1. 修改绑定地址

编辑配置文件:

代码语言:javascript
复制
sudo vi /etc/mongod.conf

找到 net: 部分,修改为:

代码语言:javascript
复制
net:
  port: 27017
  bindIp: 0.0.0.0  # 允许所有 IP 访问

2. 重启服务

代码语言:javascript
复制
sudo systemctl restart mongod

3. 测试远程连接

在你的本地电脑(非服务器)上执行:

代码语言:javascript
复制
mongo --host <你的腾讯云公网IP> --port 27017

如果能连接,说明远程访问配置成功。

⚠️ 安全警告:生产环境不要直接绑定 0.0.0.0,应配合身份认证和防火墙限制。


🔐 七、启用身份认证(强烈推荐)

1. 创建管理员用户

进入 mongo shell:

代码语言:javascript
复制
mongo

执行以下命令:

代码语言:javascript
复制
use admin
db.createUser({
  user: "admin",
  pwd: "YourStrongPassword123!",
  roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})

退出:

代码语言:javascript
复制
exit

2. 启用认证

再次编辑 /etc/mongod.conf:

代码语言:javascript
复制
sudo vi /etc/mongod.conf

在末尾添加:

代码语言:javascript
复制
security:
  authorization: enabled

3. 重启服务

代码语言:javascript
复制
sudo systemctl restart mongod

4. 验证认证

现在连接时需要提供用户名和密码:

代码语言:javascript
复制
mongo -u admin -p YourStrongPassword123! --authenticationDatabase admin

如果能进入 shell,说明认证成功。


📁 八、常用目录结构(了解即可)

MongoDB 默认使用以下目录:

路径

说明

/var/log/mongodb/

日志文件

/var/lib/mongodb/

数据文件

/etc/mongod.conf

主配置文件

/usr/bin/mongo*

可执行文件

如需修改数据存储路径,可在 /etc/mongod.conf 中修改:

代码语言:javascript
复制
storage:
  dbPath: /your/custom/path

并确保该目录有权限:

代码语言:javascript
复制
sudo mkdir -p /your/custom/path
sudo chown -R mongod:mongod /your/custom/path
sudo chmod 750 /your/custom/path

🔄 九、常用管理命令

代码语言:javascript
复制
# 启动
sudo systemctl start mongod

# 停止
sudo systemctl stop mongod

# 重启
sudo systemctl restart mongod

# 查看状态
sudo systemctl status mongod

# 开机自启
sudo systemctl enable mongod

# 查看日志
sudo journalctl -u mongod

# 查看版本
mongod --version

🧹 十、备份与恢复(基础)

1. 备份数据库

代码语言:javascript
复制
mongodump --host <IP> --port 27017 -u admin -p YourPassword --authenticationDatabase admin -o /backup/mongodb

2. 恢复数据库

代码语言:javascript
复制
mongorestore --host <IP> --port 27017 -u admin -p YourPassword --authenticationDatabase admin /backup/mongodb

🎯 十一、最佳实践建议

项目

建议

版本选择

CentOS 7 推荐 MongoDB 4.4 或 5.0

安全组

仅开放必要 IP,避免 0.0.0.0/0

身份认证

务必启用,设置强密码

定期备份

使用 mongodump 或云数据库备份功能

监控

使用 mongostat、mongotop 或第三方工具

系统升级

CentOS 7 已停更,建议迁移至 Rocky Linux 8


❓ 常见问题排查

Q1: 连接被拒绝?

  • 检查安全组是否开放 27017
  • 检查 bindIp 是否为 0.0.0.0
  • 检查防火墙是否阻止

Q2: 启动失败?

代码语言:javascript
复制
sudo journalctl -u mongod -n 50

查看错误日志,常见原因:

  • 权限问题(/var/lib/mongodb 归属应为 mongod:mongod)
  • 端口冲突
  • 磁盘空间不足

Q3: 提示 "Illegal instruction"?

CPU 不支持 AVX,降级到 MongoDB 4.4。


如有具体问题(如报错信息),欢迎贴出,我会帮你逐一解决!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 🚀 一、前提条件
    • ✅ 1. 登录腾讯云控制台
  • 🔒 二、腾讯云安全组配置(关键!)
  • 🛠 三、系统准备
    • 1. 更新系统并安装必要工具
    • 2. 关闭 SELinux(可选但推荐)
    • 3. 防火墙配置
  • 📦 四、安装 MongoDB(推荐 YUM 方式)
    • 1. 创建 MongoDB 仓库文件
    • 2. 安装 MongoDB
    • 3. 启动 MongoDB 服务
  • 🧪 五、验证安装
  • 🌐 六、配置远程访问
    • 1. 修改绑定地址
    • 2. 重启服务
    • 3. 测试远程连接
  • 🔐 七、启用身份认证(强烈推荐)
    • 1. 创建管理员用户
    • 2. 启用认证
    • 3. 重启服务
    • 4. 验证认证
  • 📁 八、常用目录结构(了解即可)
  • 🔄 九、常用管理命令
  • 🧹 十、备份与恢复(基础)
    • 1. 备份数据库
    • 2. 恢复数据库
  • 🎯 十一、最佳实践建议
  • ❓ 常见问题排查
    • Q1: 连接被拒绝?
    • Q2: 启动失败?
    • Q3: 提示 "Illegal instruction"?
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档