写在前面:mongodb是nosql非关系型数据库中,比较受欢迎的产品。在数据持久化及与关系型数据库的关联上也做的比较好,目前各大公司在存放二进制文件(图片、视频等)中应用也比较广泛。其遵循的key-value的数据模式及面向对象的json语句用法,也比较简单。在之后,会系列的跟大家分享,我在学习及生产应用中,使用到的mongodb的一些心得。希望大家共同学习,共同研究探讨。谢谢。
以下内容,是简单的将整个mongodb的安装过程,进行shell脚本化编辑。很简单的脚本编写。如有任何问题,欢迎大家反馈并与我联系。大家使用过程中,可以将整段内容粘贴至类似mongodbinit.sh的文本脚本中。chmod修改权限+x。之后执行即可。
注:replSet为副本集名称,可以自由编辑设定,本示例中使用replSet=picture。当使用db.shutdownServer()来关闭db时,只接受本地连接。
###install mongodb bags###
yum install -y openssl-devel opensslcd /opt/wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.2.tgztar zxvf /opt/mongodb-linux-x86_64-rhel62-3.0.2.tgz -C /usr/local/ln -s /usr/local/mongodb-linux-x86_64-rhel62-3.0.2 /usr/local/mongodb-3.0.2###configure limit parameters###cat >> /etc/security/limits.conf << EOF* soft nofile 655350* hard nofile 655350* soft nproc 65535* hard nproc 65535* soft core unlimited* hard core unlimited* soft memlock 50000000* hard memlock 50000000EOF###prepare the menu for data or logs###mkdir -pv /usr/local/mongodb-3.0.2/{data,logs,socket}mkdir -pv /var/run/mongodb###edit mongodb config file###parastr=( "dbpath=/usr/local/mongodb-3.0.2/data" "logpath=/usr/local/mongodb-3.0.2/logs/mongo.log" "pidfilepath=/var/run/mongodb/mongodb.pid" "unixSocketPrefix=/usr/local/mongodb-3.0.2/socket" "directoryperdb=true" "replSet=picture" "shardsvr=true" "logappend=true" "bind_ip=0.0.0.0" "port = 27017" "maxConns=20000" "oplogSize=30720" "fork=true" "nohttpinterface=true" "nojournal=true" ) if [ ! -f /etc/mongodb.conf ]; then size=${#parastr[@]}; for ((i=0;i<$size;i++)) do eval tmp=\${parastr[i][@]} echo $tmp >> /etc/mongodb.conf done fi ###/usr/local/mongodb-3.0.2/bin/mongod --config /etc/mongodb.confcat >> /etc/init.d/mongo << EOFulimit -SHn 655350#!/bin/sh# chkconfig: - 64 36# description:mongodcase $1 in start) /usr/local/mongodb-3.0.2/bin/mongod --config /etc/mongodb.conf ;; stop) /usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" #/usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('system', '123456');db.shutdownServer()" ;; status) /usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" #/usr/local/mongodb-3.0.2/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('system', '123456');db.stats()" ;;esacEOFchmod +x /etc/init.d/mongo/etc/init.d/mongo start