#!/bin/bash

export lang=C
echo '#1.关闭本地的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=/opt/var/data/mongodb
logpath=/opt/var/logs/mongodb/alert_mongodb.log
#pidfilepath=/opt/var/data/mongodb/master.pid
#keyFile=/opt/var/data/mongodb/mongodb.key
directoryperdb=true
logappend=true
#replSet=RS1
bind_ip=0.0.0.0
port=27017
#auth=true
oplogSize=1000
fork=true
noprealloc=true
maxConns=20000
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:27017/admin --eval "db.shutdownServer()"
;;
status)
/opt/server/mongodb/bin/mongo 127.0.0.1:27017/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 <<EOF
use admin;
db.createUser(
  { user: "root",
    pwd: "root",
    roles: [ { role: "root", db: "admin" } ]
  }
);
db.auth("root","root");
use admin;
db.shutdownServer();
EOF

MongoDB一键安装的更多相关文章

  1. MongoDB一键安装(参数全部定制)

    cat  init_MongoDB.sh #!/bin/bash export lang=C export my_port=27019 export my_dbpath=/opt/var/data/m ...

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

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

  3. MongoDB一键式安装工具

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

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

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

  5. CentOS下一键安装Openstack

    CentOS下一键安装Openstack 系统环境:Oracle VirtualBox 4.38CentOS-6.5-x86_64-bin-DVD1.iso 安装前需要修改 /etc/hosts文件, ...

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

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

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

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

  8. CentOS6.x生产环境下一键安装mono+jexus的脚本,自启动,带服务,版本号自控

    转自: http://linuxdot.net/bbsfile-3784 1.支持哪些个平台?答:暂时仅支持CentOS6.x平台,7.x未测试,欢迎测试并到群里反馈给我(昵称:无聊人士) 2.一键安 ...

  9. 在centos 7.0上利用yum一键安装mono

    首先我们需要先配置一下yum源中mono的引用说明: 第一步: vi /etc/yum.repos.d/mono.repo 第二步:在刚打开的文件中编辑如下内容 [mono]name=monobase ...

随机推荐

  1. ext.js的mvc开发模式详解

    ext.js的mvc开发模式详解和环境配置 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开 ...

  2. MongoDB 备份(mongodump)与恢复(mongorestore)

    MongoDB  备份(mongodump)与恢复(mongorestore) 备份:使用mongodump命令导出所有数据库到指定目录 参数说明: --host:MongoDB所在服务器IP. -- ...

  3. DjangoMTV模型之model层——ORM操作数据库(基本增删改查)

    Django的数据库相关操作 对象关系映射(英语:(Object Relational Mapping,简称ORM),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换.从效果上说 ...

  4. python基础(2)-运算符&while循环

    算术运算符 a=5; b=2; print(a+b);#result:7 desc:加 print(a-b);#result:3 desc:减 print(a*b);#result:10 desc:乘 ...

  5. vue-cli 搭建的项目关闭 eslint

    一般不会关闭eslint,基于接手的代码用eslint的时候报错太多,强迫症的人实在忍受不了报错,先实行关闭: 1.在build 下面的 webpack.base.conf.js 找到 module- ...

  6. CSS中border和outline的区别

    border: border-width:1px; border-style:solid; border-color:#ccc; 可以简写为:border:1ox solid #ccc; outlin ...

  7. golang schedule crash

    golang 起超过100W的goroutine就会crash,这个算不算是个bug? 2036119xxxxpanic: inconsistent poll.fdMutex goroutine 20 ...

  8. qrcode插件生成二维码

    <!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...

  9. Java作业(一)

    再此次的Java考试中发现自己的不足,无法套用HTML模板进行编程,说实话拿到的第一刻自己有些懵,不知道怎么去操作, 后来通过查询操作了一些,但是整个人还是懵懵的,不知道下一步怎么办,怎么去连接后台和 ...

  10. CentOS 7 keepalived+LVS

    LVS架构中 , 不管是NAT模式还是DR模式 , 当后端的RS宕机了 , 调度器还是会把请求转发到宕掉的RS上 , 然而keepalived可以解决该问题 , 它不仅仅有高可用的功能 , 还有负载均 ...