mongod
命令,在命令行中直接输入mongod
即可启动,它会使用默认数据目录/data/db
,如需指定数据目录或配置文件,使用mongod --dbpath
或mongod -f
。MongoDB 启动命令详解(适用于 Windows/Linux/macOS)
基础启动方式(命令行)
默认启动(无认证)
mongod --dbpath /path/to/data/directory
--dbpath
:指定数据存储目录(必须提前创建)。- 示例(Linux/macOS):
mongod --dbpath ~/data/db
- Windows 示例:
mongod --dbpath "C:MongoDBdatadb"
指定配置文件启动
创建配置文件 mongod.conf
(YAML 格式):
storage: dbPath: "/data/db" # 数据目录 systemLog: destination: file path: "/var/log/mongodb/mongod.log" # 日志路径 net: port: 27017 # 监听端口 bindIp: 127.0.0.1 # 绑定本地IP(安全建议)
启动命令:
mongod --config /path/to/mongod.conf
安全启动方式(启用认证)
先启动无认证服务
mongod --dbpath /data/db
连接并创建管理员用户
mongosh # 进入MongoDB Shell use admin db.createUser({ user: "admin", pwd: "yourPassword", roles: ["root"] })
关闭服务,重新启用认证启动
修改配置文件 mongod.conf
:
security: authorization: enabled # 开启认证
启动命令:
mongod --config /path/to/mongod.conf
连接时需验证:
mongosh -u admin -p yourPassword --authenticationDatabase admin
以服务方式启动(后台运行)
Linux (Systemd)
创建服务文件 /etc/systemd/system/mongod.service
:
[Unit] Description=MongoDB Database Server After=network.target [Service] User=mongodb ExecStart=/usr/bin/mongod --config /etc/mongod.conf Restart=always [Install] WantedBy=multi-user.target
启动服务:
sudo systemctl start mongod sudo systemctl enable mongod # 开机自启
Windows
安装为服务:
mongod --config "C:MongoDBmongod.conf" --install
启动服务:
net start MongoDB
常见问题与解决方案
-
端口占用(默认 27017)
lsof -i :27017 # Linux/macOS 查看占用 netstat -ano | findstr :27017 # Windows
终止占用进程或修改
mongod.conf
中的net.port
。 -
数据目录权限错误
chown -R mongodb:mongodb /data/db # Linux 授权
-
认证失败
- 确认配置中
security.authorization: enabled
。 - 检查用户名/密码和认证数据库(如
admin
)。
- 确认配置中
关键安全建议
- 禁止公网暴露:配置
bindIp: 127.0.0.1
或内网 IP。 - 启用防火墙:仅允许可信 IP 访问 27017 端口。
- 定期备份:使用
mongodump
导出数据。
重要提示:
- 生产环境务必启用认证和加密传输(TLS)。
- 不同 MongoDB 版本配置可能略有差异,请以官方文档为准。
引用说明: 参考 MongoDB 官方文档(Version 6.0+),实践前请确保版本兼容性。
- MongoDB 配置选项:https://www.mongodb.com/docs/manual/reference/configuration-options/
- 安全加固指南:https://www.mongodb.com/docs/manual/administration/security-checklist/
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/30958.html