MongoDB 安装

  1. 在MongoDB官网下载安装包
    官网:https://www.mongodb.com/try/download/community
  2. 选择对应平台和软件包类型

    image.png

  3. 在终端使用wget命令下载软件包

    wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.9.tgz

  4. 安装

    • 解压tgz包
      tar -xvzf mongodb-linux-x86_64-rhel70-5.0.9.tgz
    • 移动到/usr/local文件夹
      mv mongodb-linux-x86_64-rhel70-5.0.9 /usr/local/mongodb
    • 写入系统环境变量
      echo "export PATH=/usr/local/mongodb/bin:$PATH" >> /etc/profile
    • 应用环境变量
      source /etc/profile

创建数据库目录并启动

默认情况下MOngoDB启动会初始化以下两个目录:

  • 数据存储目录:/var/lib/mongodb
  • 日志文件目录:/var/log/mongodb

如果需要自定义路径可以先按照以下步骤创建目录:

mkdir -p /home/graylog/mongodb/lib/mongo
mkdir -p /home/graylog/mongodb/log
chmod 777 /home/graylog/mongodb

启动mongodb服务:

mongod --dbpath /home/graylog/mongodb/lib/mongo --logpath /home/graylog/mongodb/log/mongo.log --fork

image.png

验证是否启动成功:

cat /home/graylog/mongodb/log/mongo.log

image.png

关闭mongodb:

mongod --dbpath /home/graylog/mongodb/lib/mongo --logpath /home/graylog/mongodb/log/mongo.log --shutdown

放行防火墙:

firewall-cmd --permanent --zone=public --add-port=27017/tcp --permanent

检查放行状态:

firewall-cmd --permanent --query-port=27017/tcp


使用systemctl管理mongodb

  1. 创建mongodb.service文件
    touch /lib/systemd/system/mongodb.service
  2. 编辑mongodb.service文件

    [Unit]  
        Description=mongodb  
        After=network.target
    
    [Service]  
        Type=forking  
        RuntimeDirectory=mongodb
        RuntimeDirectoryMode=0751
        ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf  
        ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf  
        PrivateTmp=false  
    
    [Install]  
        WantedBy=multi-user.target
  3. 创建mongodb.conf

    vim /usr/local/mongodb/mongodb.conf

  4. 新增内容

    # mongodb.conf
    
    # 数据库文件位置
    dbpath=/home/graylog/mongodb/lib/mongo
    
    #日志文件的路径
    logpath=/home/graylog/mongodb/log/mongo.log
    
    # 是否追加方式写入日志,默认True
    logappend=true
    
    # 设置绑定ip
    bind_ip = 127.0.0.1
    # 设置端口
    port = 27017
    
    # 是否以守护进程方式运行,默认false
    fork = true
    
    # 启用日志文件,默认启用
    journal=true
    
    # 启用定期记录CPU利用率和 I/O 等待,默认false
    #cpu = true
    
    # 是否以安全认证方式运行,默认是不认证的非安全方式
    #noauth = true
    #auth = true
    
    # 详细记录输出,默认false
    #verbose = true
    
    #用于开发驱动程序时验证客户端请求
    #objcheck = true
    
    # # 启用数据库配额管理,默认false
    #quota = true
    
    # 设置oplog日志记录等级,默认0
    #   0=off (default)
    #   1=W
    #   2=R
    #   3=both
    #   7=W+some reads
    #oplog = 0
    
    # 是否打开动态调试项,默认false
    #nocursors = true
    
    # 忽略查询提示,默认false
    #nohints = true
    
    # 禁用http界面,默认为localhost:28017
    #nohttpinterface = true
    
    # 关闭服务器端脚本,这将极大的限制功能,默认false
    #noscripting = true
    
    # 关闭扫描表,任何查询将会是扫描失败
    #notablescan = true
    
    # 关闭数据文件预分配
    #noprealloc = true
    
    # 为新数据库指定.ns文件的大小,单位:MB
    # nssize = <size>
    
    # 用于Mongo监控服务器的Accout token。
    #mms-token = <token>
    
    # Mongo监控服务器的服务器名称。
    #mms-name = <server-name>
    
    # Mongo监控服务器的Ping间隔时间,即心跳
    #mms-interval = <seconds>
    
    # Replication Options
    
    # 设置主从复制参数
    #slave = true # 设置从节点
    #source = master.example.com # 指定从节点的主节点
    # Slave only: 指定要复制的单个数据库
    #only = master.example.com
    # or
    #master = true # 设置主节点
    #source = slave.example.com 
    
    # 设置副本集的名字,所有的实例指定相同的名字属于一个副本集
    #replSet = name
    
    #pairwith = <server:port>
    
    # 仲裁服务器地址
    #arbiter = <server:port>
    
    # 默认为false,用于从实例设置。是否自动重新同步
    #autoresync = true
    
    # 指定的复制操作日志(OPLOG)的最大大小
    #oplogSize = <MB>
    
    # 限制复制操作的内存使用
    #opIdMem = <bytes>
    
    # 设置ssl认证
    # Enable SSL on normal ports
    #sslOnNormalPorts = true
    
    # SSL Key file and password
    #sslPEMKeyFile = /etc/ssl/mongodb.pem
    #sslPEMKeyPassword = pass
  5. 重载systemctl

    systemctl daemon-reload

  6. 启动并设置开机启动

    systemctl enable mongodb

    systemctl start mongodb

最后修改:2023 年 06 月 13 日
如果觉得我的文章对你有用,请随意赞赏