【CentOS】MongoDB 的安装

一、MongoDB 的介绍

  MongoDB(来自于英文单词 Humongous,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB 的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB 能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用 MongoDB 来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。

  MongoDB 是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB 能够提供高性能的数据读写操作。 MongoDB 的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。

二、MongoDB 的下载
  1. 点击此处访问 MongoDB 官网,选择对应的版本进行下载

  2. 本次演示的版本信息
    1
    P.S

  • 如果网速不佳的情况下,也可以通过点击此处链接,选择对应的(64位)版本进行下载

  • 请确保安装的操作系统选择正确,否则安装包会出现问题,导致无法安装

三、MongoDB 的安装
  1. Xshell 登录 CentOS 操作系统并进入自定义安装包所在的目录

    # 进入自定义安装包所在的目录
    cd /usr/local/src
    
    # 安装 wget 插件
    yum install wget -y
    
  2. 在自定义安装包所在的目录下载安装包

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.3.tgz
    
  3. 解压安装包到安装目录

    mkdir -p /usr/local/mongodb && tar -zxvf mongodb-linux-x86_64-rhel70-4.4.3.tgz -C /usr/local/mongodb --strip-components 1
    

    2

四、MongoDB 的配置
  1. 创建数据库目录

    # MongoDB 的数据存储在 data/db 目录下,这个目录在安装过程不会自动创建,所以你需要手动创建data/db目录。
    mkdir -p /usr/local/mongodb/data/db
    
  2. 创建日志目录

    # 创建 MongoDB 运行日志存放目录  
    mkdir -p /usr/local/mongodb/logs
    
    # 新建日志文件
    cd /usr/local/mongodb/logs && touch mongodb.log
    
  3. 创建 mongodb.conf 配置文件

    # 创建配置目录并创建配置文件
    mkdir -p /usr/local/mongodb/conf
    
    # 新建配置文件
    cd /usr/local/mongodb/conf &&  touch mongodb.conf
    
  4. 编辑配置文件并进行相应的系统配置

    # 端口号,默认 27017
    port=10002
    # 绑定 IP 默认 127.0.0.1 只允许本地连接
    bind_ip=0.0.0.0
    # 数据目录
    dbpath=/usr/local/mongodb/data/db
    # 每个 DB 存放在独立的目录中
    directoryperdb=true
    # 日志文件
    logpath=/usr/local/mongodb/logs/mongodb.log
    # 设置后台运行
    fork=true
    # 启用日志文件,默认 true 
    journal=true
    # 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为 false
    quiet=true
    # 日志输出方式,默认 true
    logappend=true
    # 开启身份验证,默认 false
    # auth=true
    

    P.S

      此处(首次)配置中的权限请先注释掉,方便第一次启动程序时登录数据库设置用户和权限,在默认情况下,MongoDB 是没有开启安全认证的,但是如果设置了 auth=true,就开启了安全认证,在没有配置用户和密码之前开启安全用户,采用 mongo 进行数据库连接则找不到任何默认的数据库。

  5. 以配置文件启动 mongodb 数据库

    # 进入 mongodb 安装目录所在的 bin 目录下
    cd /usr/local/mongodb/bin
    
    # 执行启动命令的同时指定启动配置
    ./mongod --config /usr/local/mongodb/conf/mongodb.conf
    

    3

    P.S

    停止 MongoDB 命令

    # 进入 mongodb 安装目录所在的 bin 目录下
    cd /usr/local/mongodb/bin
    
    # 执行启动命令的同时指定启动配置
    ./mongod -shutdown -dbpath=/usr/local/mongodb/data/db
    
  6. 连接 mongodb

    # 进入 mongodb 可执行目录
    cd /usr/local/mongodb/bin
    
    # 采用命令行方式连接
    ./mongo --port 10002
    
    # 退出登录
    exit
    

    4

    P.S

    无法连接问题排查:

    • mongodb 配置文件中的 bind_ip 默认为 127.0.0.1,默认只有本机可以连接,需要修改为 0.0.0.0 接受任何 IP 的连接

    • 防火墙是否开启配置文件中端口的白名单

  7. 创建管理员密码

    • 根据以上操作,我们已经成功连接到 MongoDB 数据库了,但是采用此方式不是建议用于生产环境的,因为这样并不安全。所以我们需要创建一个超级管理员的权限,之后启动及操作数据库都需要授权登录才能进行操作。

    • 创建 root 用户用于管理所有的数据库

      # 选择数据库
      use admin
      
      # 创建超级管理员用户
      db.createUser({user:"root",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
      

      5

  8. 重写配置权限认证并重启 MongoDB 服务

    • 停止 MongoDB 服务

      # 进入 mongodb 安装目录所在的 bin 目录下
      cd /usr/local/mongodb/bin
      
      # 执行启动命令的同时指定启动配置
      ./mongod -shutdown -dbpath=/usr/local/mongodb/data/db
      
    • 配置权限认证

      # 进入配置文件所在目录并编辑配置文件
      vim /usr/local/mongodb/conf/mongodb.conf
      
      # 开启权限认证
      auth=true
      
    • 启动 MongoDB 服务

      # 进入 mongodb 安装目录所在的 bin 目录下
      cd /usr/local/mongodb/bin
      
      # 执行启动命令的同时指定启动配置
      ./mongod --config /usr/local/mongodb/conf/mongodb.conf
      
五、MongoDB 的远程
  1. 开启配置文件中配置的端口

    # 查看防火墙状态
    systemctl status firewalld
    
    # 开启配置文件中的端口供远程访问
    firewall-cmd --zone=public --add-port=10002/tcp --permanent
    
    # 重新加载防火墙配置使其生效
    firewall-cmd --reload
    
    # 查看端口号是否开放成功,输出 yes 开放成功,no 则失败
    firewall-cmd --zone=public --query-port=10002/tcp
    
    # 查看已开发的防火墙列表
    firewall-cmd --zone=public --list-ports
    
  2. 采用 nosqlbooster 客户端连接数据库

    6

六、MongoDB 自启动
  1. 设置 MongoDB 启动服务器配置

    # 在以下固定文件夹目录创建 mongodb.service 文件
    vim /usr/lib/systemd/system/mongodb.service
    
  2. 在新创建的 mongodb.service 文件中添加如下内容(具体路径根据自己安装包决定)

    [Unit]  
    Description=mongodb 
    After=network.target remote-fs.target nss-lookup.target  
    
    [Service]  
    Type=forking 
    ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf
    ExecReload=/bin/kill -s HUP $MAINPID  
    ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/conf/mongodb.conf
    PrivateTmp=true 
    
    [Install]  
    WantedBy=multi-user.target  
    
  3. 754 的权限保存在目录(如果是 root 权限进行编辑的情况下,默认保存即可)

    Esc
    
    :wq
    
    chmod 754 mongodb.service
    
  4. 使文件生效

    systemctl daemon-reload
    
  5. 常用操作命令

    # 查看服务当前状态  
    systemctl status mongodb.service
    
    # 启动 mongodb 服务  
    systemctl start mongodb.service
    
    # 停止 mongodb 服务
    systemctl stop mongodb.service
    
    # 重新启动服务  
    systemctl restart mongodb.service
    
    # 设置开机自启动  
    systemctl enable mongodb.service
    
    # 停止开机自启动  
    systemctl disable mongodb.service
    
    # 查看所有已启动的服务  
    systemctl list-units --type=service
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值