1. 准备工作
-
检查系统版本:
cat /etc/centos-release确保系统是 CentOS 7 或 CentOS 8。
-
更新系统包:
sudo yum update -y -
安装依赖:
MongoDB 需要一些基础依赖,确保它们已安装:sudo yum install -y libcurl openssl
2. 添加 MongoDB 官方仓库
MongoDB 官方提供了 YUM 仓库,可以通过以下步骤添加:
-
创建 MongoDB 仓库文件:
sudo vi /etc/yum.repos.d/mongodb-org-6.0.repo -
添加以下内容(适用于 MongoDB 6.0):
[mongodb-org-6.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc -
保存并退出:
- 按
Esc,然后输入:wq保存并退出。
- 按
3. 安装 MongoDB
-
安装 MongoDB 包:
sudo yum install -y mongodb-org -
验证安装:
mongod --version如果输出类似以下内容,说明安装成功:
db version v6.0.0 Build Info: { "version": "6.0.0", "gitVersion": "1234567890abcdef", "modules": [], "allocator": "system", "environment": { "distarch": "x86_64", "target_arch": "x86_64" } }
4. 配置 MongoDB
-
创建数据目录和日志目录:
sudo mkdir -p /var/lib/mongo sudo mkdir -p /var/log/mongodb sudo chown -R mongod:mongod /var/lib/mongo sudo chown -R mongod:mongod /var/log/mongodb -
编辑配置文件(可选):
MongoDB 的配置文件位于/etc/mongod.conf。可以根据需要修改以下参数:storage.dbPath:数据目录(默认为/var/lib/mongo)。systemLog.path:日志文件路径(默认为/var/log/mongodb/mongod.log)。net.port:监听端口(默认为27017)。
示例:
storage: dbPath: /var/lib/mongo systemLog: destination: file path: /var/log/mongodb/mongod.log logAppend: true net: port: 27017 bindIp: 0.0.0.0 # 允许远程访问5. 启动 MongoDB 服务
-
启动 MongoDB:
sudo systemctl start mongod -
设置开机自启动:
sudo systemctl enable mongod -
检查服务状态:
sudo systemctl status mongod如果输出类似以下内容,说明 MongoDB 已成功启动:
● mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled) Active: active (running) since ...
6. 验证 MongoDB 运行
-
连接到 MongoDB:
mongo如果成功连接,会显示以下提示符:
> -
测试基本命令:
> show dbs输出示例:
复制
admin 0.000GB config 0.000GB local 0.000GB7. 防火墙配置(可选)
如果 MongoDB 需要远程访问,需要开放防火墙端口(默认 27017):
-
开放端口:
sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent sudo firewall-cmd --reload -
验证端口是否开放:
sudo firewall-cmd --list-ports
8. 常见问题排查
问题 1:mongod 启动失败
-
检查日志文件
/var/log/mongodb/mongod.log,查找错误信息。 -
确保数据目录和日志目录的权限正确:
sudo chown -R mongod:mongod /var/lib/mongo sudo chown -R mongod:mongod /var/log/mongodb
问题 2:libcrypto.so.1.0.0 缺失
-
如果 MongoDB 依赖旧版本的 OpenSSL,可以安装兼容的 OpenSSL 1.0.x:
sudo yum install openssl10 sudo ln -s /usr/lib64/libcrypto.so.1.0.0 /usr/lib64/libcrypto.so sudo ln -s /usr/lib64/libssl.so.1.0.0 /usr/lib64/libssl.so
** 常见问题 **
如果执行mongo命令提示
bash: mongo: command not found 错误表明系统无法找到 mongo 命令。这通常是因为 MongoDB 的 Shell 工具(mongo)未安装,或者其路径未添加到系统的 PATH 环境变量中。以下是解决该问题的详细步骤:
1. 检查 MongoDB 是否已安装
-
检查 MongoDB 服务是否安装:
mongod --version如果输出 MongoDB 的版本信息,说明 MongoDB 服务已安装。
-
检查
mongoShell 是否安装:mongo --version如果提示
command not found,说明mongoShell 未安装。 -
安装
mongosh:sudo yum install -y mongodb-mongosh -
验证安装:
mongosh --version2. 使用
mongosh连接 MongoDB -
启动 MongoDB 服务(如果尚未启动):
sudo systemctl start mongod -
连接到 MongoDB:
mongosh如果成功连接,会显示以下提示符:
test> -
测试基本命令:
test> show dbs输出示例:
admin 100.00 KiB config 12.00 KiB local 72.00 KiB