安装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 文件:
安装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的配置文件,(这个之前没注意 ,折腾的大半天一直无法成功)