您的位置:首页 > 数据库 > Mongodb

Mongodb源码免编译安装

2016-01-19 13:00 603 查看
Mongodb

CentOS6 上的MongoDB 二进制免编译安装

MongoDB 是一个高性能分布式文件存储数据库,通常采用官方的二进制包进行安装。

MongoDB的源码安装用了很多第三方的东西,比如JS引擎(目前官方推荐的是mozilla的Spider Monkey,以后可能改成google的V8,和node.js一样,呵呵)、正则表达式引擎(pcre)、安装构建工具scons(这东西还要用python来安装)、boost C++库等,这里我们使用二进制免编译包,分32位,64位。准备工作:下载mongodb数据库cd /usr/local/src wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.1.tgz

解压mogodb Ls tar zxf mongodb-linux-x86_64-3.2.1.tgz

增加mongodb用户及权限

创建目录; mv mongodb-linux-x86_64-3.2.1 /usr/local/mongodb

建立配置文件Vim /usr/local/mongodb/conf/mongodb.conf#bind_ip=0.0.0.0port=27017dbpath=/usr/local/mongodb/datalogpath=/usr/local/mongodb/log/mongodb.logpidfilepath=/usr/local/mongodb/log/mongodb.piddirectoryperdb=truelogappend=trueoplogSize=1000fork=true#noprealloc=truemaster=true

mongodb配置文件的参数说明mongodb的参数说明:--dbpath 数据库路径(数据文件)--logpath 日志文件路径--master 指定为主机器--slave 指定为从机器--source 指定主机器的IP地址--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。--logappend 日志文件末尾添加--port 启用端口号--fork 在后台运行--only 指定只复制哪一个数据库--slavedelay 指从复制检测的时间间隔--auth 是否需要验证权限登录(用户名和密码) 启动服务 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf

测试:/usr/local/mongodb/bin/mongo admin

编写启动脚本:Vim /etc/init.d/mongod #!/bin/sh## mongodb init file for starting up the MongoDB server## chkconfig: - 20 80# description: Starts and stops the MongDB daemon that handles all \# database requests. # Source function library.. /etc/rc.d/init.d/functions exec="/usr/local/mongodb/bin/mongod"prog="mongod"logfile="/usr/local/mongodb/log/mongodb.log"options=" -f /usr/local/mongodb/conf/mongodb.conf " [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog lockfile="/var/lock/subsys/mongod" start() { [ -x $exec ] || exit 5 echo -n $"Starting $prog: " daemon --user mongodb "$exec --quiet $options run >> $logfile 2>&1 &" retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval} stop() { echo -n $"Stopping $prog: " killproc $prog retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval} restart() { stop start} reload() { restart} force_reload() { restart} rh_status() { # run checks to determine if the service is running or use generic status status $prog} rh_status_q() { rh_status >/dev/null 2>&1} case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 restart ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" exit 2esacexit $? #赋予脚本执行权限 chmod +x /etc/init.d/mongod #重启服务 /etc/init.d/mongod restartStopping mongod: [ OK ]Starting mongod: [ OK ]netstat -tunlp |grep mongtcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1759/mongod #添加到开机自启动# chkconfig --add mongod# chkconfig mongod on 查看mongodb版本

查看服务:

开启端口

使用数据库mongodb使用
1)连接mongodb
mongo --port 27017 //指定port,默认port为27017,本地的mongodbmongo --host 192.168.0.11 //连接远程的mongodb
mongo -umyuser -p123456 //使用用户名密码登录

#创建用户
db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]})

使用创建的用户登录




本文出自 “时光依然轻擦” 博客,请务必保留此出处http://xulianglinux.blog.51cto.com/8001428/1736442
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: