欢迎投稿

今日深度:

Mongodb数据库部署与索引维护,mongodb数据库索引

Mongodb数据库部署与索引维护,mongodb数据库索引


1、制作源并安装mongodb数据库

cat <<EOF > /etc/yum.repos.d/mongodb-org.repo
[mongodb-org]
[mongodb-org]
name=MongoDB Repository
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.6/x86_64/
gpgcheck=0
enabled=1
EOF

开始安装:

yum -y makecache fast
yum install -y mongodb-org
systemctl enable mongod #开机自启

2、修改配置文件

sed -i "s/bindIp: 127.0.0.1/bindIp: 0.0.0.0/g" /etc/mongod.conf
systemctl restart mongod

3、新建索引并创建自动删除10天以前数据的计划

1.rawData collections 创建过程
show dbs
use datacollect
show collections
db.rawData.findOne()
db.rawData.createIndex({"source": 1,"time": -1},{name:"rawData_created_timescidx"},{expireAfterSeconds: 3600*10 },{background:true})
db.rawData.getIndexes()
2.exceptionData collections 创建过程
show dbs
use datacollect
show collections
db.exceptionData.findOne()
db.exceptionData.createIndex({"source": 1,"time": -1},{name:"excdt_created_timescidx"},{expireAfterSeconds: 3600*10 },{background:true})
db.exceptionData.getIndexes()

注意:以上方法虽然为后台运行,但尽量不要在数据量比较大的mongodb数据库中执行。

3.查看执行计划的执行过程
db.rawData.find({source:'ht-84'}).explain('executionStats')

4、mongodb守护进程脚本

cat <<EOF > /usr/bin/shouhu.sh
#!/bin/sh
#添加本地路径如果有
while true; do
        #启动一个循环,定时检查进程是否存在
        server=`ps aux | grep mongod | grep -v grep`
        if [ ! "$server" ]; then
            #如果不存在就重新启动
            systemctl restart mongod &
            #启动后沉睡5s
            sleep 5
        fi
            #每次循环沉睡5s
            sleep 5
done
EOF

chmod a+x /usr/bin/shouhu.sh
sh /usr/bin/shouhu.sh 2>&1 &

www.htsjk.Com true http://www.htsjk.com/MongoDB/25023.html NewsArticle Mongodb数据库部署与索引维护,mongodb数据库索引 1、制作源并安装mongodb数据库 cat EOF /etc/yum.repos.d/mongodb-org.repo[mongodb-org][mongodb-org]name=MongoDB Repositorybaseurl=http://mirrors.aliyun.com/mongodb/yum/re...
评论暂时关闭