cat  init_MongoDB.sh

#!/bin/bash

export lang=C

export my_port=27019

export my_dbpath=/opt/var/data/mongodb #数据存放目录

export my_logpath=/opt/var/logs/mongodb  #日志存放目录

export my_keyFile=mongodb.key  #集群中节点通信要用到keyfile

export my_pidfilepath=master.pid  #进程文件,方便停止mongodb

export my_directoryperdb=true  #为每一个数据库按照数据库名建立独立目录存放

export my_logappend=true  #以追加的方式记录日志

export my_replSet=RS1 #replica set的名字

export my_bind_ip=0.0.0.0 #mongodb所绑定的ip地址

export my_port=27019 #mongodb进程所使用的端口号,默认为27017

export my_oplogSize=1000  #mongodb操作日志文件的最大大小。单位为Mb,默认为硬盘剩余空间的5%

export my_fork=true #是否后台方式运行进程

export my_maxConns=20000 #最大连接数

echo '#1.关闭本地的MongoDB'

ps -ef |grep mongodb

#service mongodb stop

echo '#2.清空本地MongoDB的安装文件'

rm -rf /opt/server/*

rm -rf /opt/var/data/*

#rm -rf /opt/var/log/

echo '#3.创建MongoDB的介质存放目录、安装目录'

mkdir -p /opt/soft/

mkdir -p /opt/server/

mkdir -p /opt/var/data/mongodb/

mkdir -p /opt/var/logs/mongodb/

echo '#4.拷贝安装介质'

mv /softwares/mongodb-linux-x86_64-rhel62-4.0.0.tgz /opt/soft/

cd /opt/soft/

ls

echo '#5.解包该介质'

tar  zxvf mongodb-linux-x86_64-rhel62-4.0.0.tgz

echo '#6.把解包文件移动至安装目录'

mv mongodb-linux-x86_64-rhel62-4.0.0 /opt/server/mongodb

echo '#7.修改并刷新本地的profile文件'

cat <<EOF >/etc/profile

export PATH=$PATH:/opt/server/mongodb/bin

EOF

source /etc/profile

echo '#8.生成本地的key file文件,授权600'

openssl rand -base64 100 > /opt/var/data/mongodb/mongodb.key

chmod 600 /opt/var/data/mongodb/mongodb.key

echo '#9.修改MongoDB的初始化参数文件'

dd if=/dev/zero of=/opt/server/mongodb/mongodb.conf count=0

cat   <<EOF > /opt/server/mongodb/mongodb.conf

dbpath=$my_dbpath

logpath=$my_logpath/alert_mongodb.log

pidfilepath=$my_dbpath/$my_pidfilepath

keyFile=$my_dbpath/$my_keyFile

directoryperdb=$my_directoryperdb

logappend=$my_logappend

#replSet=RS1

bind_ip=$my_bind_ip

port=$my_port

#auth=true

oplogSize=$my_oplogSize

fork=$my_fork

noprealloc=$my_noprealloc

maxConns=$my_maxConns

EOF

echo '#10.修改MongoDB的启动脚本,并授于 执行的权限'

cat   <<EOF > /etc/rc.d/init.d/mongodb

#!/bin/sh

# chkconfig: - 64 36

# description:mongod

case \$1 in

start)

/opt/server/mongodb/bin/mongod -f /opt/server/mongodb/mongodb.conf

;;

stop)

/opt/server/mongodb/bin/mongo 127.0.0.1:$my_port/admin --eval "db.shutdownServer()"

;;

status)

/opt/server/mongodb/bin/mongo 127.0.0.1:$my_port/admin --eval "db.stats()"

;;

esac

EOF

chmod +x /etc/rc.d/init.d/mongodb

echo '#11.启动MongoDB'

service mongodb start

#about to fork child process, waiting until server is ready for connections.

#forked process: 2556

#child process started successfully, parent exiting

mongo 127.0.0.1:$my_port <<EOF

use admin;

db.createUser(

{ user: "root",

pwd: "root",

roles: [ { role: "root", db: "admin" } ]

}

);

db.auth("root","root");

show dbs;

show users;

EOF

ps -ef |grep mongodb

#db.shutdownServer();

MongoDB一键安装(参数全部定制)的更多相关文章

  1. MongoDB一键安装(定制端口)

    #!/bin/bash export lang=Cexport my_port=27019echo '#1.关闭本地的MongoDB'#service mongodb stopecho '#2.清空本 ...

  2. MongoDB一键安装

    #!/bin/bash export lang=Cecho '#1.关闭本地的MongoDB'#service mongodb stopecho '#2.清空本地MongoDB的安装文件'rm -rf ...

  3. Linux(CentOS、Ububtu)一键安装Openstack及其它参考文档汇总

    原文链接  http://www.aboutyun.com/thread-10920-1-1.html openstack相关资料 CentOS下一键安装Openstack  http://blog. ...

  4. 如何一步步使用国内yum源一键安装openstack-ocata版本基于centos7

    写在前面的话,在网上看了一个国外的一键安装视频,我也照着做,结果出现很多错误,现在把坑解决了,照着做肯定能安装成功的 环境 virtualhost 下的centos7 配置 双网卡 一个10网段,na ...

  5. MongoDB下载安装与简单增删改查

    Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...

  6. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  7. MongoDB一键式安装工具

    一. 需求 不知道有多少人会像我一样,会把MongoDB用在客户端应用上,不过我感觉应该非常少.于是,我就希望能在客户机器上尽可能简单方便的安装MongoDB.所以以下是我的一些取舍: 1. 我只使用 ...

  8. mongoDB windows安装

    http://www.mongodb.org/ mongodb的官方文档. http://www.cnblogs.com/lipan/archive/2011/03/08/1966463.html  ...

  9. 禅道Linux一键安装版

    禅道Linux一键安装版 Linux一键安装包内置了apache, php, mysql这些应用程序,只需要下载解压缩即可运行禅道.从7.3版本开始,linux一键安装包分为32位和64位两个包,大家 ...

随机推荐

  1. HTTP状态码简单总结

    状态码数字的第一位表明了响应类别,如以下5种:     类别 原因短语 1XX Informational(信息性状态码) 接受的请求正在处理 2XX Success(成功状态码) 请求正常处理完毕 ...

  2. 【English】【托业】【四六级】写译高频词汇

    大家都知道,四六级翻译每次考的话题不可能原句直接重复,但是,在研究了近几年的四六级真题后,我们惊奇地发现: 写译词汇在重复考! 写译词汇在重复考! 写译词汇在重复考! 因此,小编为大家整理了四六级写译 ...

  3. TableExport导出失败问题

    本周有一个需求,将一个网页上一个js导出成csv文件,供数据分析使用 找到一个插件,TableExport,可以很方便的将table导出(默认设置的话,仅需一行代码) 但是,这导出文件较大(6.2M) ...

  4. 【JVM】-NO.110.JVM.1 -【GC垃圾收集器】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  5. 详细解读html中的Map,area标签

    一.定义 定义一个客户端图像映射.图像映射(image-map)指带有可点击区域的一幅图像. 二.使用 <!--定义一个图像 他的边框为0(border) usemap(指定该图像被用作图像地图 ...

  6. React时间组件(时分秒补0)页面全局引用

    1.common.js export function formatTime(data){ var d = new Date(data); function doTime(d){ if(d<10 ...

  7. hadoop执行 报错

    Error: java.io.IOException: Initialization of all the collectors failed. Error in last collector was ...

  8. js事件冒泡和事件捕捉

    结论:他们是描述事件触发时序问题的术语.事件捕获指的是从document到触发事件的那个节点,即自上而下的去触发事件.相反的,事件冒泡是自下而上的去触发事件.绑定事件方法的第三个参数,就是控制事件触发 ...

  9. 裸奔的bootloader单步调试

    2011-03-01 23:25:22 目地:更清晰的了解bootloader的结构及功能.为移植U-boot打基础. 以前只知道大概,今天利用IAR调试工具,看着汇编代码,看着寄存器,看着内存.来单 ...

  10. wrap

    import 'package:flutter/material.dart'; void main() { runApp(MaterialApp(home: new MyApp())); } clas ...