centos7下断网通过脚本安装mongodb4.2,并实现开机自启动

需求背景:
机房或者客户现场可能会出现无网络的情况,但是需要安装mongodb到服务器,并且实现开机自启动

类似方式安装nginx可以查看本人另一篇文章,附上点击链接:
类似方式安装mysql可以查看本人另一篇文章,附上点击链接;
类似方式安装JDK1.8可以查看本人另一篇文章,附上点击链接;
类似方式安装redis可以查看本人另一篇文章,附上点击链接;

实现思路:
下载需要的rpm包,通过rpm的安装方式进行安装,本人通过Vmware来模拟需求背景,真实情况也一样,可以通过U盘或者光盘达到上传安装包的效果。

第一步:
安装的mongodb版本tgz-----------mongodb-linux-x86_64-rhel70-v4.2-latest.tgz;
下载地址:
https://www.mongodb.org/dl/linux/x86_64-rhel70
(打开后超级多,然后复制上面安装包版本,直接ctrl+f进行搜索,找到后点击蓝色的直接就能下载,不能的话就自己去找过一个安装包)如下图
在这里插入图片描述
或者网盘下载:
链接:https://pan.baidu.com/s/1i2yDv_Ft7qBAh3-7fSyb2g
提取码:1030

同时需要一起下载另外一个rpm安装包:jemalloc-3.6.0-1.el7.x86_64.rpm(网上搜索主要该rpm用于内存管理)
下载地址:
https://repo.percona.com/yum/release/7/RPMS/x86_64/jemalloc-3.6.0-1.el7.x86_64.rpm
(直接就能下载,不能的话就自己去找过一个安装包)

第二步
脚本文件,我是直接把下载好的安装包和rpm包和脚本文件一起放在/root路径下面
在这里插入图片描述

第三步
mongodb4.2.sh文件内容

#!/bin/bash
# CentOS Linux release 7.7.1908 (Core)
# 安装 compat-openssl10-1.0.2o-3.el8.x86_64.rpm ,mongodb的依赖
install_openssl10(){
	# 用rpm安装openssl
	rmp -ivh /root/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
}
# mongodb安装过程
run_install_mongodb(){
        # mongodb的安装目录
        mongodb_path=/usr/local/
        # 数据库存放位置
        mongodb_data_dir=/usr/local/mongodb/mongodb_data
        # 日志存放的文件
        mongodb_logs_file=/usr/local/mongodb/logs/mongodb_log
        # 开启的端口号
        port=27017
        # 守护进程方式运行mongodb
        fork=true
        # 绑定IP地址,0.0.0.0表示允许所有ip链接mongodb
        bind_ip=0.0.0.0
 
        echo "Install MongoDB"
        cd $mongodb_path
			# 调用函数, 下载安装openssl10
			install_openssl10
                        # 解压mongodb
                        tar -xzvf /root/mongodb-linux-x86_64-rhel70-v4.2-latest.tgz
			# 获取解压后的文件名
			new_name=$(ls ./ | grep ^mongodb | grep -v tgz$)
	
                        # 重命名
                        mv ./$new_name mongodb
                        # 进入mongodb文件夹
                        cd mongodb
                        # 创建数据库文件
                        mkdir -p ./mongodb_data
                        # 创建数据库日志目录和文
                        mkdir -p ./logs && touch ./logs/mongodb_log
                        # 将mongod添加至环境变量
                        echo export PATH="$PATH":$mongodb_path"mongodb/bin" >> /etc/bashrc
                        # 激活配置文件
			source /etc/bashrc
			# 创建mongodb的配置文件
                        cd $mongodb_path"mongodb"
                        touch ./bin/mongodb.conf
                        # 写入配置信息
                        echo 'dbpath = '$mongodb_data_dir >> ./bin/mongodb.conf
                        echo 'logpath = '$mongodb_logs_file >> ./bin/mongodb.conf
                        echo 'port = '$port >> ./bin/mongodb.conf
                        echo 'fork = '$fork >> ./bin/mongodb.conf

                        echo 'bind_ip = '$bind_ip >> ./bin/mongodb.conf
						#添加自启动
						cp /root/mongodbd /usr/local/mongodb
						cp /root/mongodb.service /lib/systemd/system/
						chmod 754 /lib/systemd/system/mongodb.service
						systemctl enable mongodb.service
                        echo "自启动添加成功"
                        systemctl start mongodb.service
} 
# 安装MongoDB
install_mongodb(){
        # mongodb的安装目录
        mongodb_path=/usr/local/
        command -v mongod;
        # 判断上一条命令是否正确时执行,如果正确执行说明已经安装了mongodb
        if [ $? -eq 0 ];
                then
                        echo "MongoDB is exited"
        elif [ -f /usr/local/mongodb-linux-x86_64-rhel70-v4.2-latest.tgz ];
                then
                        # 如果存在,则删除
                        rm -rf /usr/local/mongodb-linux-x86_64-rhel70-v4.2-latest.tgz
                        echo " -------- rm mongodbs ---------"
                        run_install_mongodb
        else
                run_install_mongodb
        fi
}
install_mongodb

         

mongodb.service (这个是自启动需要的脚本,这个脚本需要把他放到路径/lib/systemd/system/下,脚本里面已经写好了;!!!!尝试过通过/etc/rc.local下这个方法不行)

[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/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID 
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config  /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true 
     
[Install] 
WantedBy=multi-user.target 

其他基本不用改,把ExecStop;ExecStart换成自己的就可以。安装的时候,默认的就是这样的,也可以不用改,要改的话可以(whereis xxx)这个命令搜索一下具体文件

mongodbd这个文件提供了一些暂停,启动的方法,mongodb4.2.sh脚本里面已经写好了默认复制到安装mongodb的位置,附上内容,仅供参考:文件头顶部的/etc/init.d/mongodbd自己尝试过开机重启的时候不可用,故采用mongodb.service方式

!!!!!!!!!!!!以上这些都好了的话,
1、切到/root路径下面 cd /root
2、执行命令:bash /root/mongodb4.2.sh 如下图:
在这里插入图片描述

3、重启系统:reboot now
4、输入查看进程命令:ps aux|grep mongo;如下图
在这里插入图片描述

或者运行命令:mongo;如下图:
在这里插入图片描述

然后就可以看到成功了,有疑问欢迎留言,有问题欢迎大佬指出。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

情绪稳定的犟种

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值