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. npm更新指定的组件

    1.例如:react-router已经更新到4.x版本,想要下载2.x版本,可以通过下面命令 npm install --save-dev react-router@2.8.1 或 npm insta ...

  2. django时区设置 media配置 日期截断函数 上传图片管理设计方案

    1.django时区 修改一下app里的设置 TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True # 不用UTC时间 USE_TZ ...

  3. PowerBI新功能: PowerBI多报表共享一个数据集

    在PowerBI里面建模,来来回回摸了一遍之后,肯定不想在另外一个报表的时候重复一次建模--这样不利于复用和维护. 四月份的更新版提供了一个预览功能(如下),可以让多报表(pbix)共享同一个数据集. ...

  4. C# 并发编程 · 经典实例

    http://www.cnblogs.com/savorboard/p/csharp-concurrency-cookbook.html 异步基础 任务暂停,休眠 异步方式暂停或者休眠任务,可以使用  ...

  5. 52.JQ---向上滚动显示,向下滚动隐藏

    js: var windowTop = 0;$(window).scroll(function() { var scrolls = $(this).scrollTop(); if(scrolls &l ...

  6. This Debug perspective is designed to support application debugging.it incorporates views for displaying the debug stack,variables and breakpoint mamagement

    使用IDE(Eclipse Version:Neon.2 Release (4.6.2)),出现以下提示信息: This kind of launch is configured to openthe ...

  7. JS构造函数原理与原型

    1.创建对象有以下几种方式: ①.var obj = {}; ②.var obj = new Object(); ③.自定义构造函数,然后使用构造函数创建对象 [构造函数和普通函数的区别:函数名遵循大 ...

  8. pascal中的xor,shr,shl,Int(),ArcTan(),copy,delete,pos和leftstr,RightStr等详解

    数学函数:Inc(i)使I:=I+1;Inc(I,b)使I:=I+b;Abs(x)求x的绝对值例:abs(-3)=3Chr(x)求编号x对应的字符. 例:Chr(65)=’A’chr(97)=’a’c ...

  9. 【css】适配iphoneX

    /*适配iphoneX*/ @media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-d ...

  10. MongoExport后的负载均衡问题查询及解决:can't accept new chunks because there are still 2 deletes from previous migration

    问题 前一阵有一个数据导出需求,按照各种数据库的使用方法,使用MongoExport方法导出数据,将数据导出到本地文件系统,在导出之后遇到此问题. 此问题和mongoexport的原理有关,我们知道数 ...