千家信息网

源码安装mongoDB

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,安装步骤:1.准备1.1 显示系统版本[root@centos ~]# cat /etc/redhat-releaseCentOS Linux release 6.4.1406 (Core)1.2 安
千家信息网最后更新 2026年11月01日源码安装mongoDB

安装步骤:

1.准备

1.1 显示系统版本
[root@centos ~]# cat /etc/redhat-release
CentOS Linux release 6.4.1406 (Core)



1.2 安装基本软件包(基础的编译工具,最好把一切开发的包组都装上)

[root@centos ~]# yum install vim wget lsof gcc gcc-c++ bzip2 -y

[root@centos ~]# yum install net-tools bind-utils -y


1.3 显示IP地址

[root@centos ~]# ifconfig|grep inet

inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255

2.编译安装mongodb

2.1 下载包
[root@centos ~]# cd /usr/local/src/

[root@centos ~]# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.6.tgz

[root@centos ~]# tar -zvxf mongodb-linux-x86_64-2.6.6.tgz

[root@centos ~]# mv mongodb-linux-x86_64-2.6.6 /opt/mongodb/

2.2 配置path环境变量,确保mongodb的bin目录包含在path环境变量中。

[root@centos ~]# vim /etc/profile

找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL,在这行上面添加以下内容:

#set for mongodb
export MONGODB_HOME=/opt/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

保存退出


[root@centos ~]# echo $PATH

[root@centos ~]# source /etc/profile

[root@centos ~]# echo $PATH

[root@centos ~]# mongod -version

显示以下内容,则表示安装成功
db version v2.6.6
2014-12-18T11:02:15.100+0800 git version: 608e8bc319627693b04cc7da29ecc300a5f45a1f


2.3 建立存储数据及日志的目录:

[root@centos ~]# mkdir -p /data/mongodb/journal

[root@centos ~]# mkdir -p /data/mongodb/log

[root@centos ~]# touch /data/mongodb/log/mongodb.log


2.4 增加mongodb用户及设置权限

[root@centos ~]# useradd mongodb -M -s /sbin/nologin

[root@centos ~]# chown -R mongodb.mongodb /data/mongodb
  

2.5 建立配置文件

[root@centos ~]# vim /etc/mongodb.conf

输入以下内容

dbpath=/data/mongodb
logpath=/data/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
noauth=true
nojournal = true
smallfiles = true
noprealloc = true

保存,退出

# **********************************************
#  mongodb的参数说明:
#
#  --dbpath 数据库路径(数据文件)
#  --logpath 日志文件路径
#  --master 指定为主机器
#  --slave 指定为从机器
#  --source 指定主机器的IP地址
#  --pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,

#    最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
#  --logappend 日志文件末尾添加
#  --port 启用端口号
#  --fork 在后台运行
#  --only 指定只复制哪一个数据库
#  --slavedelay 指从复制检测的时间间隔
#  --auth 是否需要验证权限登录(用户名和密码)

注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档


2.6 将mongod服务加到开机启动服务(这是在Centos7中需要添加到系统服务中)

[root@centos ~]# vim /lib/systemd/system/mongodb.service

输入以下内容

[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/data/mongodb/mongod.lock
ExecStart=/opt/mongodb/bin/mongod -f /etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target


保存,退出


[root@centos ~]# systemctl enable mongodb.service

[root@centos ~]# systemctl list-unit-files|grep enabled|grep mongodb

[root@centos ~]# systemctl daemon-reload

[root@centos ~]# systemctl start mongodb.service

[root@centos ~]# systemctl status mongodb.service -l

2.7 在Centos6中添加服务脚本,如下

准备工作如下,脚本中要用到的链接

mkdir -p /usr/local/mongodb/srv

vim /usr/local/mongo/srv/mongodb-start

添加下面的内容




#!/bin/sh

mongod -f /usr/local/mongodb/mongodb.conf




vim /usr/local/mongo/srv/mongodb-stop

添加下面的内容




#!/bin/bash

pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;

if [ "${pid}" != "" ]; then

kill -2 ${pid};

fi

添加执行权限




chmod a+x /usr/local/mongo/srv/mongodb-start

chmod a+x /usr/local/mongo/srv/mongodb-stop

###########################################################脚本文件如下:

#! /bin/sh


#


# mongodb - this script starts and stops the mongodb daemon


#


# chkconfig: - 85 15


# description: MongoDB is a non-relational database storage system.


# processname: mongodb


# config: /usr/local/mongodb/mongodb.conf


# pidfile: /usr/local/mongodb/mongodb.pid


PATH=/usr/local/mongo/bin:/sbin:/bin:/usr/sbin:/usr/bin


NAME=mongodb


test -x $DAEMON || exit 0


set -e


case "$1" in


start)


echo -n "Starting MongoDB... "


/usr/local/mongo/srv/mongodb-start


;;


stop)


echo -n "Stopping MongoDB... "


/usr/local/mongo/srv/mongodb-stop


;;


*)


N=/etc/init.d/$NAME


echo "Usage: $N {start|stop}" >&2


exit 1


;;


esac


exit 0


可以加入系统服务中,进行开机自启动

chmod a+x /etc/init.d/mongodb


chkconfig --add mongodb


chkconfig --level 345 mongodb on


/etc/init.d/mongodb start



3 测试数据库是否正常

[root@centos ~]# ps -ef|grep mongod

[root@centos ~]# mongo admin

添加admin用户名密码,使用创建的用户登录MongoDB:

> show dbs

> use admin

> db.addUser('admin','manager')

> db.auth('admin','manager')

> show collections

> db.system.users.find()

> exit






4 防火墙添加27017端口(Centos7中开放防火墙的方法)

[root@centos ~]# iptables -L|grep ACCEPT

[root@centos ~]# firewall-cmd --zone=public --add-port=27017/tcp --permanent

[root@centos ~]# firewall-cmd --reload

[root@centos ~]# iptables -L|grep ACCEPT


文件 内容 数据 服务 日志 用户 大小 数据库 权限 系统 脚本 配置 参数 变量 地址 密码 最好 机器 环境 用户名 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 鸠鸠互联网科技 互联网下的科技发展 腾讯阿里互联网科技 互联网 卓越科技 嘟嘟瓜互联网科技 有木互联网科技 万达互联网科技 互联网实体化科技化 互联网科技寓意 重庆互联网医院沙龙医盟信息科技 互联网金融科技展 电子商务与互联网科技的关系 下一代互联网重大应用科技园 南京一网一红互联网科技有限公司 新氧科技和美国互联网有关系吗 互联网时代科技型公司的机会 兰石爱特工业互联网科技分公司 科技和互联网行业的特点 科技互联网专业工作会议发言稿 银川新华互联网科技学校招聘 互联网 科技创新 狮子座互联网科技有限公司 伴你行互联网科技有限公司 丰台科技园 互联网公司 花神(南京)互联网科技有限公司 亳州好赞互联网科技有限公司 上海科技产业互联网平台 广州千川互联网科技有限公司 互联网相关科技技术 三亚科技创新互联网基地
0