安装mongodb

环境:

系统:Oracle Linux Server release 8.6 (基于:Red Hat Enterprise Linux release 8.6 (Ootpa))

背景:公司开始使用oracle,所以使用了Oracle Linux,给我安装mongodb带来的很多问题

软件版本:MongoDb Community 6.0.2

开始:

方案一:使用官网教程安装,没有针对oracle linux的,官网说也是支持oracle linux的 ,

             官网教程链接:https://www.mongodb.com/docs/v6.0/tutorial/install-mongodb-on-red-hat/

 

 

 

 所以使用在red hat的安装教程进行操作,但是总是安装失败,没办法启动,找了好久没找到解决办法,不知道是不是因为是oracle linux

内部优化,有些配置做了改动(只是猜测),至今无果。

方案二:网上找安装成功的案例。

         大都是安装4.x的教程,刚好找到一个使用安装4.x的方式安装6.x的成功案例。

        主要参考:

  https://www.runoob.com/mongodb/mongodb-linux-install.html      --菜鸟

  https://blog.csdn.net/gubeichengxuyuan/article/details/124488707   --成功案例

正式开始:


1.使用wget下载,并解压

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.2.tgz    # 下载
tar -zxvf mongodb-linux-x86_64-rhel80-6.0.2.tgz   # 解压

获取文件连接技巧:

    a.地址:https://www.mongodb.com/try/download/community-kubernetes-operator  

    b. 

   选择好版本,平台,类型  在Download 右键,就可以复制链接。

2.文件重命名,然后放到user/local下面,方便启动

[root@VM-4-2-centos opt]# mv mongodb-linux-x86_64-rhel80-6.0.2 mongodb
[root@VM-4-2-centos opt]# mv mongodb /usr/local/

3.配置环境变量:

[root@VM-4-2-centos opt]# cd /usr/local/mongodb/
[root@VM-4-2-centos mongodb]# vim /etc/profile

export PATH=/usr/local/mongodb/bin:$PATH

[root@VM-4-2-centos mongodb]# source /etc/profile

4.查看环境变量是否配置成功:

[root@VM-4-2-centos mongodb]# mongod --version
db version v6.0.2
Build Info: {
    "version": "6.0.2",
    "gitVersion": "32f0f9c88dc44a2c8073a5bd47cf779d4bfdee6b",
    "openSSLVersion": "OpenSSL 1.1.1k  FIPS 25 Mar 2021",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
        "distmod": "rhel80",
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

5.创建文件夹,配置MongoDb日志、数据、进程存放位置  

[root@VM-4-12-centos mongodb]# mkdir data && mkdir log && mkdir pid

6.MongoDb没有默认conf,需要我们创建文件夹conf

[root@VM-4-2-centos mongodb]# mkdir conf && cd conf && vim mongodb.conf

7.指定配置路径:

#数据保存路径
dbpath=/usr/local/mongodb/data/
#日志保存路径
logpath=/usr/local/mongodb/log/mongo.log
#进程描述文件
pidfilepath=/usr/local/mongodb/pid/mongo.pid
#日志追加写入
logappend=true
bind_ip_all=true
#mongo默认端口
port=27017
#操作日志容量
oplogSize=10000
#开启子进程
fork=true
#需要登录认证
#auth=true

8.启动mongodb

[root@VM-4-2-centos mongodb]# ./bin/mongod --config /usr/local/mongodb/conf/mongodb.conf --fork
about to fork child process, waiting until server is ready for connections.
forked process: 151821
child process started successfully, parent exiting

9.使用Navicat连接:

 

 

 到此,安装成功。

但是,系统重启后,mongodb不会自动重启,尝试各种办法还是不行,浪费了大量时间。

解决问题:

方法一.配置里明明设置了 fork=true, 没用----失败

PS:fork 是指用守护进程(daemon)启动

 方法二.尝试将mongodb注册成服务---- 失败

注册成服务,无效模式  还是没法开机启动:

https://www.jianshu.com/p/9882745767fd  

mongodb  *.ini 文件:

[program: mongodb]
command=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf ; 运行程序的命令
directory=/usr/local/mongodb/bin/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/mongodbsup.err.log ; 错误日志文件
stdout_logfile=/var/log/mongodbsup.out.log ; 输出日志文件
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔
 
说是虽然注册成服务但是还是要借助守护进程才能做到自动重启
 方法三:使用守护supervisor  设置mongodb开机启动

安装supervisor, 使用里面守护.net core 项目的配置,配置守护mongodb,

[program: mongodb]
command=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf  ; 运行程序的命令
directory=/usr/local/mongodb/bin/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
autostart=true ; 是否自动启动
stderr_logfile=/var/log/mongodbsup.err.log ; 错误日志文件
stdout_logfile=/var/log/mongodbsup.out.log ; 输出日志文件
user=root ; 进程执行的用户身份
stopsignal=INT
startsecs=1 ; 自动重启间隔

Tips: 注意我这个里面使用的是.ini 的配置文件,守护core项目使用的是.conf的配置文件,(这个之前没注意 ,折腾的大半天一直无法成功)

posted @ 2023-01-20 14:26  黄树强  阅读(283)  评论(0编辑  收藏  举报