Mongodb 安装脚本(附服务器自启动)

这篇具有很好参考价值的文章主要介绍了Mongodb 安装脚本(附服务器自启动)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

shell脚本

#!/bin/bash
#mail:xuel@anchnet.com
#function:auto install mongodb
[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1
logfile="/var/log/mongod_install.log"
softdir="/software"
installdir="/usr/local"
sys_version=$(rpm -q centos-release|cut -d- -f3)
clear
echo "##########################################"
echo "#  Auto Install mongodb for centos6/7.x ##"
echo "#       Press Ctrl + C to cancel        ##"
echo "#       Any key to continue             ##"
echo "##########################################"
echo "(1) Install Mongodb-3.2"
echo "(2) Install Mongodb-3.4"
echo "(3) Install Mongodb-3.6"
echo "(4) EXIT"
read -p "Please input your choice:" NUM
if [ ${sys_version} == "6" ];then
	case $NUM in 
	1)
	       mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.20.tgz"	
	       software_version="mongodb-3.2"
	;;
	2)
	       mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.10.tgz"
	       software_version="mongodb-3.4"
	;;
	3)
	       mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.6.5.tgz"
	       software_version="mongodb-3.6"
	;;
	4)
	       echo -e "\033[41;37m You choice channel! \033[0m" && exit 0
	;;
	*)
	       echo -e "\033[41;37m Input Error! Place input{1|2|3|4} \033[0m" && exit 1
	;;
	esac
elif [ ${sys_version} == "7" ];then
	case $NUM in 
	1)
	       mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.20.tgz"	
	       software_version="mongodb-3.2"
	;;
	2)
	       mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.10.tgz"
	       software_version="mongodb-3.4"
	;;
	3)
	       mongodb_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.5.tgz"
	       software_version="mongodb-3.6"
	;;
	4)
	       echo -e "\033[41;37m You choice channel! \033[0m" && exit 0
	;;
	*)
	       echo -e "\033[41;37m Input Error! Place input{1|2|3|4} \033[0m" && exit 1
	;;
	esac
else
	echo "system must user centos6/7.x." >>${logfile} 2>&1
fi

sys_init() {
clear
echo -e "\033[42;5m initialization system... \033[0m"
sleep 2
sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config
if [ ${sys_version} == "6" ];then
/etc/init.d/iptables status >/dev/null
[ $? -eq 0 ] && iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
[ $? -eq 0 ] && /etc/init.d/iptables save >${logfile} 2>&1
elif [ ${sys_version} == "7" ];then
systemctl stop firewalld && systemctl disable firewalld
else
echo "system must user centos6/7.x." >>${logfile} 2>&1
fi
yum -y install wget >/dev/null
setenforce 0
echo "sys_init complate!">> ${logfile} 
}


download_software() {
clear
echo -e "\033[42;5m download software... \033[0m"
sleep 2
if [ ! -d ${softdir} ];then
    mkdir ${softdir} && cd ${softdir}
else
    cd ${softdir}
fi
for software_url in ${mongodb_url}
do
    wget -c ${software_url} --tries=5
    if [ $? -eq 0 ];then
        for software in `ls`
        do
            tar zxf $software -C $installdir
        done
    else
	echo "download software error!" >> ${logfile} 2>&1 && exit 1
    fi
done
echo "download_software" >>${logfile}
}

install_software() {
clear
echo -e "\033[42;5m install server... \033[0m"
sleep 2
mongodbdir=$(ls ${installdir}|grep "mongodb-linux-x86_64")
ln -s ${installdir}/${mongodbdir} ${installdir}/mongodb
mkdir ${installdir}/mongodb/{conf,mongoData,mongoLog}
touch ${installdir}/mongodb/mongoLog/mongodb.log
echo "export PATH=\$PATH:${installdir}/mongodb/bin">/etc/profile.d/mongodb.sh
source /etc/profile.d/mongodb.sh
cat >${installdir}/mongodb/conf/mongodb.conf <<EOF
dbpath=${installdir}/mongodb/mongoData
logpath=${installdir}/mongodb/mongoLog/mongodb.log
logappend=true
journal=true
quiet=true
port=27017
pidfilepath=/var/run/mongod.pid
#replSet =RS
maxConns=20000
#httpinterface=true
fork=true
#auth=true
EOF
echo "install_software complate!" >>${logfile}
}

start_server() {
clear
echo -e "\033[42;5m configuration server... \033[0m"
if [ ${sys_version} == "6" ];then
cat >/etc/init.d/mongodb-server<<EOF
#!/bin/bash
#auth:kaliarch
# mongodb    Startup script for mongodb processes
#
# chkconfig: - 90 10
# description: Mongodb provides fast memory based storage.
# processname: Mongodb
. /etc/rc.d/init.d/functions
bash_dir="/usr/local/mongodb"
mongod="\${bash_dir}/bin/mongod"
config="\${bash_dir}/conf/mongodb.conf"
getpid=\$(pidof mongod)
lockfile="\${bash_dir}/mongodb.lock"
pidfile="/var/run/mongod.pid"
#user=nobody
start() {
    action $"Starting \$prog: " /bin/true
    # Starting mongodb on port 27017 as deamon and user nobody
    \$mongod -f \${config} >/dev/null
    RETVAL=$?
    [ \$RETVAL = 0 ] && touch \${lockfile}
    return \$RETVAL
}
stop() {
    if test "x\${getpid}" != x; then
        action $"Stopping \$prog " /bin/true
        killall mongod 
    fi
    RETVAL=\$?
    [ \$RETVAL = 0 ] && rm -rf \${lockfile} \${pidfile}
    return \$RETVAL
}
case "\$1" in
        start)
            start
            ;;
        stop)
            stop
            ;;
        status)
        status -p \${pidfile} \${mongod}
        RETVAL=\$?
            ;;
        restart)
            stop
            start
            ;;
        *)
            echo $"Usage: \$0 {start|status|stop|restart}"
            exit 1
esac
exit \${RETVAL}
EOF
cd /
chmod +x /etc/init.d/mongodb-server
chkconfig mongodb-server on
service mongodb-server start
elif [ ${sys_version} == "7" ];then
cat >/usr/lib/systemd/system/mongod.service<<EOF
[Unit]
Description=The Mongodb Server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --dbpath /usr/local/mongodb/mongoData
[Install]
WantedBy=multi-user.target
EOF
systemctl start mongod
systemctl enable mongod >>${logfile} 2>&1
else
	echo "install occer error,please see ${logfile}" && exit 1
fi
}


check_server() {
clear
echo -e "\033[42;5m check server status... \033[0m"
server_port=$(netstat -lntup|grep mongod|wc -l)
server_proc=$(ps -ef |grep mongodb.conf|grep -v grep|wc -l)
if [ ${server_port} -gt 0 -a ${server_port} -gt 0 ];then
	echo -e "\033[42;37m mongodb-server install successful! \033[0m"
	echo -e "\033[42;37m version:${software_version}  \033[0m"
	echo -e "\033[42;37m bashpath:${installdir}/mongodb  \033[0m"
else
	echo "install occer error,please see ${logfile}" && exit 1
fi
}

main() {
sys_init
download_software
install_software
start_server
check_server
}

main

保存 install_mongo.sh

Mongodb 安装脚本(附服务器自启动),mongodb,服务器,数据库

--.查看mongo是否启动
ps aux |grep mongo
--查看是否启动成功
--命令如下
ps -ef|grep mongo
systemctl start mongod.service
systemctl status mongod.service
设置为开机自启动
systemctl enable mongod.service 
systemctl enable mongod //开机自启MongoDB
systemctl start mongod  //启动MongoDB
systemctl status mongod //可以检查是否启动了MongoDB


netstat -an | grep 27017
netstat -ntulp  | grep 27017
netstat -lntup  | grep 27017
netstat -lanp | grep "27017"
find / -name mongodb.conf

Mongodb 安装脚本(附服务器自启动),mongodb,服务器,数据库

cd /usr/local/mongodb-linux-x86_64-rhel70-3.6.5/conf/

vim mongodb.conf

#端口号

port = 27017

#数据目录

dbpath =/var/lib/mongodb/

#日志目录

logpath =/var/log/mongodb/mongo.log

#设置后台运行,守护进程

fork = true

#日志输出方式----是否追加日志

logappend = true

#开启认证(暂时不开启)

#auth = true

#最大同时连接数

maxConns=100

#不启用验证

noauth=true

#每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。

#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,

#然后重放后续的journal日志来恢复。

journal=true

#存储引擎,有mmapv1、wiretiger、mongorocks

storageEngine=wiredTiger

#设置成全部ip可以访问,这样就可以在windows中去连虚拟机的MongoDB,

#也可以设置成某个网段或者某个ip1234567891011

bind_ip = 0.0.0.0  
7.在shell中使用mongo来连接mongodb,通过mongodb相关命令来进行mongodb的管理cd /usr/local/mongodb/bin./mongo

 Mongodb 安装脚本(附服务器自启动),mongodb,服务器,数据库

MongoDB对用户的操作

  • 创建用户

MongoDB创建用户必须进入到相关数据库下进行创建


>use admin
>db.createUser({
user: 'admin', // 用户名(自定义)
pwd: 'my_db1', // 密码(自定义)
roles:[{
role: 'root', // 使用超级用户角色
db: 'admin' // 指定数据库
}]})

Mongodb 安装脚本(附服务器自启动),mongodb,服务器,数据库

[root@k8s-vanode1 bin]# systemctl start firewalld 
[root@k8s-vanode1 bin]# firewall-cmd --add-port=27017/tcp --zone=public --permanent
success
[root@k8s-vanode1 bin]# firewall-cmd --reload
success
[root@k8s-vanode1 bin]#  firewall-cmd --zone=public --list-ports
27017/tcp
[root@k8s-vanode1 bin]#  systemctl stop firewalld
[root@k8s-vanode1 bin]# 

Mongodb 安装脚本(附服务器自启动),mongodb,服务器,数据库文章来源地址https://www.toymoban.com/news/detail-699446.html

到了这里,关于Mongodb 安装脚本(附服务器自启动)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MongoDB大作业】MongoDB服务器的部署

           请按照步骤完成3台MongoDB服务器的部署,要求3台服务器的基本信息如下,其中XXX为姓名拼音首字母。        创建虚拟机时将虚拟机名称设置为NoSQL_01,网络连接方式为NAT模式;安装Linux操作系统时将主机名设置为zrz01。 截图:        虚拟机安装、配置完成后

    2024年02月10日
    浏览(45)
  • 13、MongoDB--通过 SpringBoot 整合 Spring Data MongoDB(【连接多个 MongoDB 服务器】、【高级定制 MongoDB 客户端】的简单介绍)

    放弃 Spring Boot 为 MongeDB 提供的自动配置,接下来同样要干如下事情: 手动配置多组 ReactiveMongoDatabaseFactory 和 ReactiveMongoTemplate,要连几个 MongoDB 服务器就配置几组。 同步 API 则使用 MongoDatabaseFactory 和 MongoTemplate。 针对不同 MongoDB 服务器,分别开发相应的 DAO 组件类,建议将它

    2024年03月19日
    浏览(66)
  • MongoDB常用的操作(服务器、数据库、集合)

    前面两篇已经介绍了MongoDB系统架构及其BSON数据类型。本文将讲解基本的MongoDB操作。 一、MongoDB启动命令 启动MongoDB 查看是否启动成功 重启MongoDB 关闭MongoDB 二、使用init命令操作MongoDB 启动MongoDB 查看是否启动成功 重启MongoDB 关闭MongoDB 三、启动mongodb客户端 查看该服务是否启动

    2024年02月07日
    浏览(64)
  • 解决Mac MongoDB连接问题:无法连接到服务器127.0.0.1:27017的错误

    MongoDB是一种流行的开源数据库系统,广泛用于开发和维护现代应用程序。在使用MongoDB的过程中,有时您可能会遇到连接问题,其中一个常见的问题是在Mac上无法连接到本地MongoDB服务器(127.0.0.1:27017)。这种错误可能会导致应用程序无法正常运行,因此需要尽快解决。 在本文

    2024年01月16日
    浏览(62)
  • Prometheus监控添加监控mongodb+docker+MySQL8.0+服务器系统进程监控+域名过期时间监控

    环境: 192.168.1.144  Ubuntu系统已经部署好Prometheus监控部署教程请看本人前面的教程  192.168.1.140  centos7系统已安装docker+docker-compose 1、在被监控端以docker-compose方式安装mongodb mkdir /data/mangodb/ #创建mangodb的目录 cd /data/mangodb/ #进入目录下 2,写docker-compose.yaml文件 vim docker-compose.y

    2024年02月02日
    浏览(54)
  • Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)

    本文主要介绍Linux下ElasticSearch7.9.2安装,目前是介绍单节点的配置 应用 版本 说明 操作系统 centos7 稳定、高预测性、高管理性、高重复性的Linux平台 elasticsearch 7.9.2 es7.x的linux版本 jdk 8 本人使用JDK 8;ES建议使用JDK 11 启动的时候会有警告但是不会报错,可以忽略 此种方式可能比

    2024年02月08日
    浏览(62)
  • 【MongoDB】mongodb安装及启动踩坑点

    mongodb的安装,基本上参考文章[1]。 但是在过程中,有一些踩坑点。 在文章1中,作者在解压后,直接使用了mongo脚本,而我下载的mongodb版本要更高,在解压后,bin目录中没有mongo脚本,mongo脚本是mongodb的命令行客户端,据说,这个从6.0版本开始是要自己安装的。 在使用mongo

    2024年01月25日
    浏览(33)
  • 配置VMware实现从服务器到虚拟机的一键启动脚本

    正文共:1666 字 15 图,预估阅读时间:2 分钟 首先祝大家新年快乐!略备薄礼,18000个红包封面来讨个开年好彩头! 虽然之前将服务器放到了公网 ( 成本增加了100块,内网服务器上公网解决方案2.0重磅来袭! ) ,但是我们也介绍过L2TP是基于UDP协议的,难免存在丢包的情况

    2024年02月20日
    浏览(45)
  • net start MongoDB 启动MongoDB服务时, 出现没有响应控制功能的解决方案

    管理员权限打开cmd后,输入 net start MongoDB 启动MongoDB服务,显示 服务没有响应控制功能 1、系统环境变量PATH中,MongoDB的 bin 文件夹路径是否正确 2、打开注册表,在 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMongoDB 中,检查 ImagePath 的数据中,路径是否与 当前安装的 MongoDB相符

    2024年02月10日
    浏览(49)
  • Docker 如何安装、启动、配置 MongoDB?

    前提 : 已安装docker和docker-compose 注 :连接之前,确保云服务器 端口27017已放行,详见《云服务设置端口放行》 ​ 备份方式:docker cp + mongodump 恢复方式:docker cp + mongorestore 比较 分类 Oralce/Mysql MongoDB Mongoose 1 数据库实例 MongoDB实例 Mongoose 2 模式(schema) 数据库(database) mongoose

    2024年02月12日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包