本文将在Linux环境下编译Mongodb。

您可以选择已经编译好的版本直接使用,也可以尝试自己编译。https://www.mongodb.org/downloads#production

 
 
动手开始:
1、Linux,本文选择Ubuntu 14.04 LTS 64bit,下载地址:
 
2、包依赖:编译器 gcc g++ clang 安装方式:
 

# sudo apt-get install gcc (4.8.2以上版本)
# sudo apt-get install g++ (4.8.2以上版本)
# sudo apt-get install clang(3.4以上版本)

 
3、包依赖:python (2.7以上版本) 安装方式:

# sudo apt-get install python

 
4、包依赖:scons (2.3以上版本) 安装方式:

# sudo apt-get install scons

5、包依赖

# sudo apt-get install aptitude
# aptitude install scons build-essential
# aptitude install libboost-filesystem-dev libboost-program-options-dev libboost-system-dev libboost-thread-dev

6、源代码:从GitHub上面下载:https://github.com/mongodb/mongo 直接选择一个分支,右侧Download Zip,解压缩到目录:
 

# mkdir mongodb-master-src
# unzip mongodb-master.zip mongodb-master-src/
# cd mongodb-master-src/

 
7、新建一个 version.json 文件在 mongodb-master-src/ 目录下:在大部分能搜索到的文档中,大家都是直接下载好后就编译,但是会报一个scons错误,原因就是因为缺少这个文件。
 # gedit version.json
然后输入以下内容后保存:

{
    "version": "0.0.1-fake-"
}

8、编译源代码:

# sudo scons all -j 4

这里-j 4 是指你所使用的CPU核数。也可以直接:

# sudo scons all

或者仅

# sudo scons mongod
# sudo scons mongo
# sudo scons mongos

9、编译后验证,执行下面语句,你将看到版本提示信息。

# ./mongod --version

10、编译后配置,新建相关目录及配置文件

# mkdir mongodb_sample
# cd  mongodb_sample/
# mkdir bin
# mkdir data
# mkdir log
# mkdir conf

# cd conf
# gedit mongod.conf

在打开的端口内输入:

port = 12345
dbpath = data
logpath = log/mongod.log
fork = true

其中:port代表访问该数据库的端口号,fork表示是一个后台进程。

11、复制编译好的文件到bin目录

# cp ../mongod mongodb_sample/bin/

12、启动mongod:

# cd mongodb_sample/bin/
# ./mongod -f conf/mongod.conf

13、检查log和data目录将看到文件夹内有新的文件。
14、停止mongod,这里因为没有连接到mongod服务器,所以直接使用kill的方式进行关闭,关闭的时候,不使用kill -9,可以使用kill -15:

先查找进程ID:

# ps -A | grep mongod

然后

# kill 32759

关于kill命令后面的参数,详见:https://en.wikipedia.org/wiki/Unix_signal#SIGTERM

如何编译MongoDB?的更多相关文章

  1. 使用VS2010编译MongoDB C++驱动详解

    最近为了解决IM消息记录的高速度写入.多文档类型支持的需求,决定使用MongoDB来解决. 考虑到MongoDB对VS版本要求较高,与我现有的VS版本不兼容,在leveldb.ssdb.redis.h ...

  2. debian 7上源码编译MongoDB 3.4版本

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 要想精通一个数据库,除了知道该数据库的功能特性.使用方法等,还需要能够看懂数据库源码,能够使用gdb工具对其 ...

  3. scons编译mongodb(vs2008版本)遇到的问题总结

    OS:win7 64 boost:1.49 mongodb:2.4.6(推荐64位版本,当然如果你系统是32位的,只能使用32的版本了) IDE:vs2008(2010的同学请跳过吧,因为官网提供的就 ...

  4. windows平台下安装、编译、使用mongodb C++ driver

    本博客将记录在Win8.1 ,VS2013环境下编译.配置mongodb C++ driver的流程. 1.下载预备 下载Boost:http://sourceforge.net/projects/b ...

  5. mongodb c++ driver(2.53)windows编译

    编译环境: (1) 下载python2.7, 使用x86_32位,因为scons只有32位安装包可用: (2) 下载scons2.3.0,The current production release ...

  6. MongoDB数据库未授权访问漏洞及加固

    1.漏洞危害 开启MongoDB服务时不添加任何参数时,默认是没有权限验证的,登录的用户可以通过默认端口无需密码对数据库任意操作(增删改高危动作)而且可以远程访问数据库. 2.漏洞成因 在刚安装完毕的 ...

  7. 【PHP升级】CentOS6.3编译安装 PHP5.4.38

    先前安装的PHP5.3.28(参考:CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28),现在准备升级PHP到5.4.38,有如下几个地方需要重新编译 ...

  8. MongoDB配置文件YAML-based选项全解

    配置文件部分 MongoDB引入一个YAML-based格式的配置文件.2.4版本以前的仍然兼容. 我的mongodb配置文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  9. MongoDB C API

    一.编译mongodb c driver: 编译完成之后在c:\mongo-c-driver目录下有bin.include.lib三个文件夹,分别包含所需的dll..h文件.lib. 在自己的项目中引 ...

随机推荐

  1. pod导入融云路径报错解决办法

    build Settings中搜索sear Search Patchs下点开Library Search Paths 将$(inherited)"$(SRCROOT)/Pods"分 ...

  2. JSP中文乱码问题

    参考此URL http://blog.csdn.net/beijiguangyong/article/details/7414247 eclipse 设置:

  3. NSArray转json字符串

    func arrayToJson(arr:NSArray) -> String { let jsonData: NSData = try! NSJSONSerialization.dataWit ...

  4. Java广度优先爬虫示例(抓取复旦新闻信息)

    一.使用的技术 这个爬虫是近半个月前学习爬虫技术的一个小例子,比较简单,怕时间久了会忘,这里简单总结一下.主要用到的外部Jar包有HttpClient4.3.4,HtmlParser2.1,使用的开发 ...

  5. (转)SQL Server 性能调优(cpu)

    摘自:http://www.cnblogs.com/Amaranthus/archive/2012/03/07/2383551.html 研究cpu压力工具 perfom SQL跟踪 性能视图 cpu ...

  6. js使用Switch达到切换不同颜色的效果

    实现的效果,点击哪个,哪个变颜色,效果如下. 代码如下: <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. MySQL命令实例

    显示数据表结构 1.desc(describe) tablename;2.show columns from tablename;3.use information_schema;    select ...

  8. DBlink与同义词

    DBLink就是数据库链接,而同义词就已经具体到某个用户下的表了 原文链接:http://www.linuxidc.com/Linux/2013-01/77579.htm 这里所需要的信息: 从MM库 ...

  9. spring mvc(1):基础入门

      依赖 pom.xml ( maven ) <properties>  <spring.version>3.0.5.RELEASE</spring.version> ...

  10. SQL 使用 AND 与 OR

    1.介绍:关于AND与OR的使用是比较基础的,但是在项目中如果不注意使用的话会使查出来的数据有错误. 2.主要问题: 在未加任何AND与OR的选择是独立的,与逻辑运算一样.即: SELECT * FR ...