宝塔软件商店已下架MongoDB,需手动安装官方mongodb-org包并配置/etc/mongod.conf,启用authorization、调整bindIp,使用mongosh连接,服务名为mongod而非mongodb。

mongod.service 不存在、mongod --version 报 command not found、宝塔软件商店搜不到 MongoDB —— 这些不是你操作错了,是官方早已移除支持。别在软件商店里反复刷新,它真不提供 MongoDB。
宝塔软件商店里根本没有 MongoDB
- 宝塔 8.x 及以上版本的「软件商店」已下架所有 MongoDB 相关安装包,无论搜索
mongo、mongodb还是nosql都不会出现 - 某些低版本(如 7.9)曾短暂上架过 4.x 版本,但无更新、无安全维护,且默认配置裸奔(
bindIp: 127.0.0.1未改、authorization: disabled),上线即高危 - 即便侥幸装上,
systemctl status mongod也会显示Unit mongod.service not found,因为服务文件压根没生成
安装后服务起不来?先看 systemd 是否识别
- 宝塔打包的 MongoDB(如有)通常不注册
mongod.service,而是靠/etc/init.d/mongodb脚本启动,但该脚本在新版系统(Ubuntu 22.04+/CentOS 8+)已失效 - 正确路径是:手动安装官方
mongodb-org包后,服务名固定为mongod,不是mongodb或mongos - 验证是否识别:运行
systemctl list-unit-files | grep mongod,有输出才说明服务定义就位;若为空,说明包没装对或源配错
配置文件位置和关键字段必须手改
- 宝塔不管 MongoDB 配置,它的
/www/server/mongodb/config.conf是个空壳或旧版残留,实际生效的是/etc/mongod.conf(官方包默认路径) - 必须改的三项:
-
bindIp: 127.0.0.1→ 改成bindIp: 127.0.0.1,0.0.0.0(保留本地访问,加远程) -
#security:去掉注释,下一行写authorization: enabled(注意冒号后要空格) -
net.port:确认是27017,别被宝塔界面误导去“自定义端口”——改了得同步调防火墙、安全组、连接字符串
-
- 改完立刻执行
sudo systemctl daemon-reload && sudo systemctl restart mongod,别信宝塔「重载配置」按钮,它对 MongoDB 无效
宝塔终端连不上?权限和加密机制常被忽略
- 在宝塔「终端」里执行
mongo会失败,因为 MongoDB 6.0+ 已弃用mongoshell,必须用mongosh - 创建用户时若报
Use of SCRAM-SHA-256 requires undigested passwords,不是密码错了,是服务端强制要求明文密码入库,但db.createUser()默认走 SHA-256;必须显式指定mechanisms: ["SCRAM-SHA-1"] - 连接命令别写
mongo -u root -p 123456,要用mongosh "mongodb://root:123456@127.0.0.1:27017/admin?authMechanism=SCRAM-SHA-1"
真正卡住人的,从来不是“怎么点”,而是默认配置和实际环境之间的三处断层:服务名对不上、配置路径被宝塔误导、认证机制版本不匹配。每一步都得亲手验证,不能依赖图形界面反馈。











