FreeBSD下安装MongoDB数据库的方法

发布时间:2020-01-25编辑:脚本学堂
本文介绍下,在FreeBSD系统中安装MongoDB数据库的方法,有兴趣的朋友可以参考学习下。

本节内容:
FreeBSD下安装MongoDB数据库

实验环境:
系统:FreeBSD 8.1-RELEASE
版本:mongodb v1.6.6
安装:
  目前,官网上并没有FreeBSD下MongoDB的pkg包下载,所以FreeBSD下MongoDB的安装方式只有两种:ports方式和源码方式。其中Ports方式十分简单,但是由于网速等因数
影响,可能要很久才能完成安装;而在MongoDB依赖包安装不全的的情况下,使用源码方式安装MongoDB相对会更为复杂。

1. Ports方式安装MongoDB:
 

复制代码 代码示例:
cd /usr/ports/databases/mongodb
make
make install

Ports方式安装MongoDB十分简单,就以上三条命令。但由于网络问题或Ports树太旧等原因可能会报错。如出现错误终止,请仔细观察错误代码,删除/usr/ports/distfiles/
下未下载完成的文件或更新Ports树后重新Make。

如果有多台FreeBSD主机要安装MongoDB,而且这些主机的硬件平台几乎相同,为了提高工作效率,你可以将Ports方式安装的MongoDB、以及MongoDB的依赖包,打包成pkg包,
然后通过scp方式复制到其他主机上使用pkg_add命令安,效率会成倍的提高。

具体打包方式:
 

复制代码 代码示例:
cd /var/db/pkg
pkg_create -R -b mongodb-1.* # 把*号换成版本号,-R参数为连同依赖包一起打包
ls *.tbz # 查看打好的包
 

按以上方式打好包后,即可以拷贝到其他主机上,使用pkg_add mongodb-1.*.tbz进行安装。

2. 源码的方式安装:
①. 下载MongoDB:
打开www.mongodb.org/downloads页面,在最后一列找到你要需要版本的源码(我这里是v1.6.6),然后执行命令:
 

复制代码 代码示例:

#安装依赖包
cd /usr/ports/lang/spidermonkey && make && make install
cd /usr/ports/devel/scons && make && make install #在弹出的窗口中选上”python
cd /usr/ports/devel/boost-all && make && make install
cd /usr/ports/devel/libexecinfo && make && make install
cd /usr/ports/devel/pcre && make && make install #官方的文档中没此项,会报错

#下载,解压,编译
cd /usr/local
fetch http://downloads.mongodb.org/src/mongodb-src-r1.6.5.tar.gz
tar -zxvf mongodb-src-r1.6.5.tar.gz
mv mongodb-src-r1.6.5 mongodb-1.6.5
cd mongodb-1.6.5
scons . # 然后等待完成

# 设置环境变量
export PATH=$PATH:/usr/local/mongodb-1.6.5
 

启动MongoDB服务:
  MongoDB的服务端运行模式有三种,分别是:单台模式、主从模式、分片模式。

1,单台模式的Mongodb的启动:
 

复制代码 代码示例:
mkdir -p /data/db
mongod –dbpath /data/db –logpath /data/db/db.log –fork
# 查看状态
mongo 127.0.0.1:27017
show dbs #显示数据库
help

2,主从(Master、Slave)模式的Mongodb的启动:
Master主机( ip为10.0.0.1):
 

复制代码 代码示例:
mongod –master –dbpath /data/master –logpath /data/master/master.log –fork
cat /data/master/master.log

Slave主机(ip为10.0.0.2):
 

复制代码 代码示例:
mongod –slave –dbpath /data/slave –logpath /data/slave/slave.log –source 10.0.0.1:27017 –fork
cat /data/slave/slave.log

测试:
 

复制代码 代码示例:
# 查看状态
mongo 10.0.0.1:27017
show dbs #显示数据库
help

3,分片模式:
由于分片模式配置相对复杂,在另篇文章详细介绍。