一、环境准备

  1. 系统要求:CentOS 7

  2. 依赖检查:确保系统已安装 libcurlopenssl(MongoDB 运行依赖),若未安装可执行:

    sudo yum install -y libcurl openssl
  3. MongoDB 版本选择:根据项目需求选择合适版本(本文以 mongodb-linux-x86_64-rhel70-7.0.25.tgz 为例,社区版)。

    下载地址:MongoDB 官网下载页(选择对应系统的 tgz 包)。

二、安装步骤

1. 下载安装包

通过 wget 直接在服务器下载(或本地下载后上传至服务器):

# 以 7.0.25 版本为例,注意替换为实际版本的下载链接
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-7.0.25.tgz
2. 解压安装包

将安装包解压到指定目录(推荐 /usr/local,便于管理):

# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-7.0.25.tgz

# 移动到 /usr/local 并简化目录名
sudo mv mongodb-linux-x86_64-rhel70-7.0.25 /usr/local/mongodb
3. 创建数据和日志目录

MongoDB 默认需要数据存储目录(/data/db)和日志目录,手动创建并授权:

# 创建数据目录
sudo mkdir -p /data/mongodb/db

# 创建日志目录
sudo mkdir -p /data/mongodb/log

# 授权当前用户(避免权限问题,也可指定用户)
sudo chown -R $USER:$USER /data/mongodb
4. 配置环境变量(可选)

为了全局使用 mongodmongo 命令,将 MongoDB 的 bin 目录添加到环境变量:

# 编辑 .bashrc 或 .bash_profile
vi ~/.bashrc

# 在文件末尾添加(路径需与实际安装目录一致)
export PATH=/usr/local/mongodb/bin:$PATH

# 生效配置
source ~/.bashrc

三、启动 MongoDB

1. 临时启动(前台运行,用于测试)
# 指定数据目录和日志文件
mongod --dbpath /data/mongodb/db --logpath /data/mongodb/log/mongod.log --fork
  • --dbpath:指定数据存储目录

  • --logpath:指定日志文件路径

  • --fork:后台运行(可选,不加则前台运行,关闭终端即停止)

2. 配置文件启动(推荐,适合生产环境)

创建配置文件 mongodb.conf,统一管理配置:

# 创建配置文件
sudo vi /usr/local/mongodb/conf/mongodb.conf

配置内容如下:

systemLog:
  destination: file        # 日志输出方式(file 或 syslog)
  path: /data/mongodb/log/mongod.log  # 日志文件路径
  logAppend: true          # 日志追加模式(而非覆盖)
storage:
  dbPath: /data/mongodb/db # 数据存储目录
  engine: wiredTiger       # 存储引擎(默认 wiredTiger,支持文档级锁)
net:
  bindIp: 0.0.0.0          # 允许所有 IP 连接(生产环境建议指定具体 IP)
  port: 27017              # 端口(默认 27017,如需修改需同步防火墙配置)
processManagement:
  fork: true               # 后台运行(守护进程模式)
# security:
#   authorization: enabled  # 开启认证(配置用户后取消注释,替代旧版 auth=true)

通过配置文件启动:-f 选项表示使用配置文件启动mongodb

mongod -f /usr/local/mongodb/conf/mongodb.conf

四、验证安装

  1. 下载 mongosh 安装包访问 MongoDB Shell 下载页,选择与你的系统(CentOS 属于 Linux x64)匹配的 tgz 包,复制下载链接后在服务器执行:

    # 以 2.5.8 版本为例(替换为最新版本链接)
    wget https://downloads.mongodb.com/compass/mongosh-2.5.8-linux-x64.tgz
  2. 解压并配置环境变量

    # 解压
    tar -zxvf mongosh-2.5.8-linux-x64.tgz
    
    # 移动到 MongoDB 安装目录(方便管理)
    sudo mv mongosh-2.5.8-linux-x64 /usr/local/mongodb/mongosh
    
    # 添加到环境变量(与 MongoDB 的 bin 目录同级,或单独配置)
    echo 'export PATH=/usr/local/mongodb/mongosh/bin:$PATH' >> ~/.bashrc
    source ~/.bashrc
  3. 连接 MongoDB配置完成后,直接使用 mongosh 命令连接:

    mongosh  # 连接本地默认端口(27017)的 MongoDB
    # 如需指定主机和端口:mongosh --host 127.0.0.1 --port 2701
    # -u 用户名 -p 密码(若不直接输入,回车后会提示手动输入,更安全)
    # --authenticationDatabase admin 指定认证的库是admin,如果在其他库创建的则指定其他的库,默认admin
  4. 执行简单命令测试:

    show dbs;  // 查看数据库列表(默认有 admin、local 等)
    exit;      // 退出客户端

五、停止 MongoDB

  1. 优雅停止(推荐):

    # 连接客户端后执行
    mongosh
    use admin
    db.shutdownServer()
    exit

  2. 使用mongod脚本

    ./mongod -f ../conf/mongodb.conf --shutdown 

六、注意事项

  1. 权限问题:确保数据目录和日志目录的权限正确,避免启动失败。

  2. 防火墙:若需远程访问,需开放 27017 端口(CentOS 7 示例):

    sudo firewall-cmd --zone=public --add-port=27017/tcp --permanent
    sudo firewall-cmd --reload
  3. 安全配置:生产环境需开启认证(auth = true),并创建管理员用户:

    use admin
    db.createUser({
      user: "admin",
      pwd: "*****",
      roles: [{ role: "root", db: "admin" }]
    })
    #
    # 创建后,需在 MongoDB 配置文件中开启认证(security.authorization: enabled),重启服务后,客户端连接时必须通过该用户(或其他授权用户)的账号密码认证,才能访问数据库,从而保障数据安全。
  • db: "admin":指定角色生效的数据库(root 角色属于 admin 数据库的内置角色)。

  • role: "root":MongoDB 内置的 超级管理员角色,拥有所有数据库的所有操作权限(包括创建 / 删除数据库、管理其他用户、执行备份 / 恢复等)。root 角色权限过大,仅建议用于数据库初始化或紧急操作,日常管理建议创建权限更细化的角色(如 userAdminAnyDatabase 管理用户,readWriteAnyDatabase 读写数据)

  • 需在配置文件中开启 security.authorization: enabled 并重启服务,否则即使创建了用户,也无需认证即可访问数据库。

通过以上步骤,即可在 CentOS 系统中成功安装并运行 MongoDB。若后续需要升级,只需下载新版本安装包,替换解压目录并重启服务即可。

文章作者: Z
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 微博客
mongodb
喜欢就支持一下吧