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. 剑指offer-复杂链表的复制

    题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...

  2. 1: unit test

    1: se01  进入到TR包里面,创建自己的包.(开发过程中,每个人创建一个包,最后每个包合成一个team的TR包.整个产品将所有的TR包合成,发布. 2:向cds view里面插入假数据 3:使用 ...

  3. Python3使用AES加密的库函数PyCrypto、PyCryptodome

    我们在网上查看Python爬虫教程的时候,细心的朋友会发现:很多网站为了降低服务器的请求压力都做了各式各样的反爬策略,浏览器通过http post请求服务器端数据时,传输的data字段很多都是经过加密 ...

  4. 深入理解Java虚拟机1-chap1-2-斗之气8段

    1.HotSpot VM:热点代码探测能力,与JIT技术共同进行编译优化,输出高质量代码 2.运行时数据区域 程序计数器:控制程序执行顺序,无OOM Java虚拟机栈:生命周期与线程一致,描述Java ...

  5. iPhone IOS10安装APP没提示连接网络(无法联网)的解决办法

    iPhone升级ios10之后,遇到如标题所述问题时: 1.退出APP,设置-蜂窝移动网络-无线局域网助理-开启 2.进入APP,这时候就回提示连接网络了. 提醒: 数据流量有限的朋友,平时请关闭&q ...

  6. Mysql模糊查询Like传递参数的语句

    set @keyWord='我的': select * from tblcontent where content like CONCAT('%',@keyWord,'%')

  7. ASP.NET MVC案例教程(五)

    ASP.NET MVC案例教程(四) 前言 通过前几篇文章,我们已经能比较自如的使用ASP.NET MVC来呈现页面和数据了.但是,有一个大问题没有解决:如何处理表单数据.例如,我们将要实现的公告发布 ...

  8. too many open files问题

    linux环境下,程序运行时,出现了too many open files的错误. 通过名字就能看出来,是打开了太多的文件,超过了系统限制. ulimit -a 通过这个命令可以查看当前系统设置的最大 ...

  9. hashmap相关面试题

  10. Mysql 数据类型、约束类型

    mysql数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型.   数值类型 MySQL支持所有标准 ...