好的,以下是以腾讯云 CentOS 7 云服务器(https://cloud.tencent.com/product/lighthouse?Is=sdk-topnav)为例的 MongoDB 详细安装与配置步骤,涵盖从安全组、系统准备到远程访问、认证等全流程。
xshell、putty、MobaXterm 或终端)ssh root@<你的公网IP>在本地连接 MongoDB 前,必须先在腾讯云控制台开放端口:
类型 | 优先级 | 协议端口 | 来源 | 策略 |
|---|---|---|---|---|
自定义 | 1 | TCP:27017 | 0.0.0.0/0 | 允许 |
⚠️ 生产环境建议限制来源 IP,如只允许你的固定 IP 访问。
sudo yum update -y
sudo yum install -y wget curl net-tools vimsudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config验证:
getenforce
# 应返回 Permissive 或 Disabledsudo systemctl stop firewalld
sudo systemctl disable firewalld💡 如果你希望保留防火墙,也可以仅开放 27017: sudo firewall-cmd --permanent --add-port=27017/tcp sudo firewall-cmd --reload
sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo写入以下内容(以 MongoDB 4.4 为例):
[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。
sudo yum install -y mongodb-org这将自动安装:
mongodb-org-servermongodb-org-mongosmongodb-org-shellmongodb-org-toolssudo systemctl start mongod
sudo systemctl enable mongod
sudo systemctl status mongod正常输出应包含 active (running)。
mongo --eval 'db.runCommand({ connectionStatus: 1 })'如果返回:
{ "ok": 1, ... }说明安装成功。
编辑配置文件:
sudo vi /etc/mongod.conf找到 net: 部分,修改为:
net:
port: 27017
bindIp: 0.0.0.0 # 允许所有 IP 访问sudo systemctl restart mongod在你的本地电脑(非服务器)上执行:
mongo --host <你的腾讯云公网IP> --port 27017如果能连接,说明远程访问配置成功。
⚠️ 安全警告:生产环境不要直接绑定
0.0.0.0,应配合身份认证和防火墙限制。
进入 mongo shell:
mongo执行以下命令:
use admin
db.createUser({
user: "admin",
pwd: "YourStrongPassword123!",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})退出:
exit再次编辑 /etc/mongod.conf:
sudo vi /etc/mongod.conf在末尾添加:
security:
authorization: enabledsudo systemctl restart mongod现在连接时需要提供用户名和密码:
mongo -u admin -p YourStrongPassword123! --authenticationDatabase admin如果能进入 shell,说明认证成功。
MongoDB 默认使用以下目录:
路径 | 说明 |
|---|---|
/var/log/mongodb/ | 日志文件 |
/var/lib/mongodb/ | 数据文件 |
/etc/mongod.conf | 主配置文件 |
/usr/bin/mongo* | 可执行文件 |
如需修改数据存储路径,可在 /etc/mongod.conf 中修改:
storage:
dbPath: /your/custom/path并确保该目录有权限:
sudo mkdir -p /your/custom/path
sudo chown -R mongod:mongod /your/custom/path
sudo chmod 750 /your/custom/path# 启动
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 --versionmongodump --host <IP> --port 27017 -u admin -p YourPassword --authenticationDatabase admin -o /backup/mongodbmongorestore --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 |
bindIp 是否为 0.0.0.0sudo journalctl -u mongod -n 50查看错误日志,常见原因:
/var/lib/mongodb 归属应为 mongod:mongod)CPU 不支持 AVX,降级到 MongoDB 4.4。
如有具体问题(如报错信息),欢迎贴出,我会帮你逐一解决!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。