千家信息网

CentOS6.8安装mongodb3.0与备份脚本

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、系统环境CentOS 6.8_x64官方参考文档https://docs.mongodb.org/manual/reference/glossary/#term-init-script二、添加官方
千家信息网最后更新 2026年11月01日CentOS6.8安装mongodb3.0与备份脚本

一、系统环境
CentOS 6.8_x64
官方参考文档https://docs.mongodb.org/manual/reference/glossary/#term-init-script

二、添加官方yum库
#cd /etc/yum.repo.d/
#vim mongodb.repo

[mongodb-org-3.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/gpgcheck=0enabled=1

三、安装配置
1、安装并创建数据目录

#yum install -y mongodb-org#mkdir -p /Data/mongodb #chown   mongod.mongod /Data/mongodb -R


2、配置mongod.conf
#vim /etc/mongod.conf

# mongod.conf# for documentation of all options, see:#   http://docs.mongodb.org/manual/reference/configuration-options/# where to write logging data.systemLog:  destination: file  logAppend: true  path: /Data/mongodb/mongod.log    #需要自定义# Where and how to store data.storage:  dbPath: /Data/mongodb/db           #需要自定义  journal:    enabled: true#  engine:#  mmapv1:#  wiredTiger:# how the process runsprocessManagement:  fork: true  # fork and run in background  pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile# network interfacesnet:  port: 27017  bindIp: 10.1.0.7  # Listen to local interface only, comment to listen on all interfaces.    需要自定义#security:#operationProfiling:#replication:#sharding:# Enterprise-Only Options#auditLog:

启动mongod
#service mongod start


四、测试
登录mongodb
#mongo --host 10.1.0.7
> db.version();
3.0.7
> show dbs
com_ylt_plat_passport 0.078GB
local 0.078GB
chown mongod.mongod /Data/mongodb -R
service mongod start


五、排错

故障描述 :
service mongod stop 时发现 并没有 关闭mongod服务 进程依然在

通过排查发现问题出在/etc/mongod.conf中第24行
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
把后面的# location of pidfile 删除掉 即可,这个是一个小bug

六、mogond备份与还原脚本

#cat mongodb_bak.sh

#!/bin/shDUMP=/usr/bin/mongodumpOUT_DIR=/data1/backup/mongodb/mongod_bak_nowBAK_DIR=/data1/backup/mongodb/mongod_bak_listDATE=`date +%F_%H%M%d`#DB_USER=username#DB_PASS=DAYS=7TAR_BAK="mongodb_bak_$DATE.tar.gz"[ -d $OUT_DIR ] || mkdir -v $OUT_DIR[ -d $BAK_DIR ] || mkdir -v $BAK_DIRBAK_DB(){cd $OUT_DIRrm -rf $OUT_DIR/*mkdir -p $DATE#$DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE$DUMP -o $OUT_DIR/$DATEtar czvf $BAK_DIR/$TAR_BAK $OUT_DIR/$DATEfind $BAK_DIR/ -mtime +$DAYS -delete}RESTORE_ALL(){cd $OUT_DIRfor d in `ls`;doecho $OUT_DIR/$d/usr/bin/mongorestore -d $OUT_DIR/$ddone}RESTORE_Choose(){while truedo  echo "when you choose 'quit|exit' exit to restore!"   read -p "What's  your choose?(Enter continue!)" choose  if [[ $choose == 'quit' || $choose == 'exit' ]]  then       echo "You choose exit!" && exit 2  fi  cd $OUT_DIR  d=`ls`  cd $OUT_DIR/$d  ls  read -p "What's db your choose?" whatdb  if [ "$whatdb" != '' ];    then      /usr/bin/mongorestore -d $whatdb  else        echo "choose is empty,exit~" && exit 0  fidone}case $1 in        back)        BAK_DB        ;;        resall)        RESTORE_ALL        ;;        resone)        RESTORE_Choose        ;;        *)        echo "USGE:back|resall|resone"        ;;esac

使用说明:

back 备份全部的mongod数据库

resall 还原所有的数据库

resone可以指定还原某一个数据库



七、解决警告提示
1、问题描述
解决登录mongo --host 10.1.0.7 --port 27017 类似如下提示

** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 和 ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
MongoDB shell version: 3.0.7
connecting to: 10.1.0.7:27017/test
Server has startup warnings:
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten]
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten]
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2016-12-08T16:10:15.638+0800 I CONTROL [initandlisten]


由于环境为CentOS6.8 所以解决方法如下,其他平台及版本请参考官方文档:https://docs.mongodb.org/manual/tutorial/transparent-huge-pages/

2、解决方法:
添加如下脚本
#vim /etc/init.d/disable-transparent-hugepages

#!/bin/sh### BEGIN INIT INFO# Provides:          disable-transparent-hugepages# Required-Start:    $local_fs# Required-Stop:# X-Start-Before:    mongod mongodb-mms-automation-agent# Default-Start:     2 3 4 5# Default-Stop:      0 1 6# Short-Description: Disable Linux transparent huge pages# Description:       Disable Linux transparent huge pages, to improve#                    database performance.### END INIT INFOcase $1 in  start)        if [ -d /sys/kernel/mm/transparent_hugepage ]; then              thp_path=/sys/kernel/mm/transparent_hugepage        elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then         thp_path=/sys/kernel/mm/redhat_transparent_hugepage       else             return 0         fi             echo 'never' > ${thp_path}/enabled           echo 'never' > ${thp_path}/defrag            unset thp_path    ;;    esac

添加到开机自启服务

#chmod +x /etc/init.d/disable-transparent-hugepages#chkconfig --add disable-transparent-hugepages


3、修改系统参数

#mkdir -p /etc/tune-profiles/no-thp#cd /etc/tune-profiles/no-thp#echo "set_transparent_hugepages never" > ktune.sh#chmod +x ktune.sh#tuned-adm profile no-thp 如果提示找不到命令请执行yum install tuned -y

reboot 系统

4、验证:

$mongo --host 10.1.0.7 --port 27017

MongoDB shell version: 3.0.7

connecting to: 10.1.0.7:27017/test

>

5、出现如下错误:

** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

#vim /etc/security/limits.conf

添加:

mongod soft nofile 64000

mongod hard nofile 64000

mongod soft nproc 32000

mongod hard nproc 32000


重启mongod

到此mongod安装完成~如有错误之处欢迎指正!

数据 官方 数据库 系统 提示 备份 脚本 文档 方法 环境 错误 问题 参考 服务 登录 配置 使用说明 参数 命令 平台 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 什么是科技互联网 有格互联网科技 科技企业和互联网企业 南京欣网互联网科技 玖二柒互联网科技公司待遇 互联网科技实习生岗位职责 现代互联网科技股 岳阳华臻互联网科技有限公司 青岛科技大学互联网大赛研究生 佛山市拉法互联网科技有限公司 互联网金融科技名词解释 互联网金融科技公司的优势 皮皮虾互联网科技有限公司 九思连强互联网电子科技有限公司 云南互联网科技学费 银川新华互联网科技学校原画 北京军民互联网科技公司 互联网科技和医药行业 互联网科技品牌 武汉亿视互联网科技有限公司 互联网科技公司经营范围 高科技互联网 互联网科技金融 互联网科技公司怎么样 顶级互联网科技成果有哪些 互联网科技与大数据专业 翼展科技 首家互联网医院 福建互联网展示科技馆设计 中国互联网公司的科技投入 互联网 科技节活动 微视频大赛
0