## 讲诉mongodb的两种安装方式,其实都蛮简单的
建议使用官方源进行安装
数据库存放目录建议划分到一个单独的分区上面
## monogdb二进制安装包
[root@redis tmp]# tar xf mongodb-linux-x86_64-2.6.3.tgz -C /usr/local/ [root@redis tmp]# mv /usr/local/{mongodb-linux-x86_64-2.6.3,mongodb} [root@redis tmp]# cd /usr/local/mongodb/ [root@redis mongodb]# ls bin GNU-AGPL-3.0 README THIRD-PARTY-NOTICES [root@redis mongodb]# mkdir -pv /mongo/data/{mongodb_data,mongodb_log} mkdir: created directory `/mongo‘ mkdir: created directory `/mongo/data‘ mkdir: created directory `/mongo/data/mongodb_data‘ mkdir: created directory `/mongo/data/mongodb_log‘
### 启动mongodb
[root@redis mongodb]# /usr/local/mongodb/bin/mongod --port 27017 --fork --dbpath=/mongo/data/mongodb_data/ --logpath=/mongo/data/mongodb_log/mongodb.log --logappend about to fork child process, waiting until server is ready for connections. forked process: 2828
### 验证存活情况:
[root@redis mongodb]# ss -tunlp Netid Recv-Q Send-Q Local Address:Port Peer Address:Port tcp 0 128 *:27017 *:* users:(("mongod",2828,8))
### 添加配置文件
[root@redis mongodb]# vim /etc/mongod.conf [root@redis mongodb]# cat /etc/mongod.conf port=27017 dbpath=/mongo/data/mongodb_data/ logpath=/mongo/data/mongodb_log/mongodb.log pidfilepath=/usr/local/mongodb/mongo.pid fork=true logappend=true shardsvr=true directoryperdb=true [root@redis mongodb]#
### 关闭和启动mongodb
[root@redis mongodb]# /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" MongoDB shell version: 2.6.3 connecting to: 127.0.0.1:27017/admin 2014-07-19T13:04:27.469+0200 DBClientCursor::init call() failed server should be down... [root@redis mongodb]# ss -tunlp Netid Recv-Q Send-Q Local Address:Port Peer Address:Port tcp 0 128 :::44938 :::* users:(("rpc.statd",1078,11)) tcp 0 128 *:44943 *:* users:(("rpc.statd",1078,9)) tcp 0 128 :::111 :::* users:(("rpcbind",1060,11)) tcp 0 128 *:111 *:* users:(("rpcbind",1060,8)) tcp 0 128 :::22 :::* users:(("sshd",1253,4)) tcp 0 128 *:22 *:* users:(("sshd",1253,3)) [root@redis mongodb]#
### 重启启动mongodb
[root@redis mongodb]# /usr/local/mongodb/bin/mongod --config /etc/mongod.conf about to fork child process, waiting until server is ready for connections. forked process: 2855 child process started successfully, parent exiting [root@redis mongodb]# ss -tunlp Netid Recv-Q Send-Q Local Address:Port Peer Address:Port tcp 0 128 *:27017 *:* users:(("mongod",2855,8))
### 为mongodb添加Synv服务
添加账户
[root@redis ~]# groupadd -r mongodb [root@redis ~]# useradd -r -g mongodb mongodb [root@redis ~]# id mongodb uid=498(mongodb) gid=498(mongodb) groups=498(mongodb) [root@redis ~]#
### 修改mongodb数据库目录的属组属主
[root@redis ~]# chown -R mongodb.mongodb /mongo/data/ [root@redis ~]#
### 添加init配置文件
#!/bin/bash # mongod - Startup script for mongod # chkconfig: 35 85 15 # description: Mongo is a scalable, document-oriented database. # processname: mongod # config: /etc/mongod.conf # pidfile: /usr/local/mongodb/mongo.pid . /etc/rc.d/init.d/functions # things from mongod.conf get there by mongod reading it # NOTE: if you change any OPTIONS here, you get what you pay for: # this script assumes all options are in the config file. CONFIGFILE="/etc/mongod.conf" OPTIONS=" -f $CONFIGFILE" #SYSCONFIG="/etc/sysconfig/mongod" # FIXME: 1.9.x has a --shutdown flag that parses the config file and # shuts down the correct running pid, but that‘s unavailable in 1.8 # for now. This can go away when this script stops supporting 1.8. DBPATH=`awk -F= ‘/^dbpath[[:blank:]]*=[[:blank:]]*/{print $2}‘ "$CONFIGFILE"` PIDFILE=`awk -F= ‘/^pidfilepath[[:blank:]]*=[[:blank:]]*/{print $2}‘ "$CONFIGFILE"` mongod=${MONGOD-/usr/local/mongodb/bin/mongod} MONGO_USER=mongodb MONGO_GROUP=mongodb if [ -f "$SYSCONFIG" ]; then . "$SYSCONFIG" fi # Handle NUMA access to CPUs (SERVER-3574) # This verifies the existence of numactl as well as testing that the command works NUMACTL_ARGS="--interleave=all" if which numactl >/dev/null 2>/dev/null && numactl $NUMACTL_ARGS ls / >/dev/null 2>/dev/null then NUMACTL="numactl $NUMACTL_ARGS" else NUMACTL="" fi start() { # Recommended ulimit values for mongod or mongos # See http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings # ulimit -f unlimited ulimit -t unlimited ulimit -v unlimited ulimit -n 64000 ulimit -m unlimited ulimit -u 32000 echo -n $"Starting mongod: " daemon --user "$MONGO_USER" "$NUMACTL $mongod $OPTIONS >/dev/null 2>&1" RETVAL=$? echo [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mongod } stop() { echo -n $"Stopping mongod: " killproc -p "$PIDFILE" -d 300 /usr/bin/mongod RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/mongod } restart () { stop start } RETVAL=0 case "$1" in start) start ;; stop) stop ;; restart|reload|force-reload) restart ;; condrestart) [ -f /var/lock/subsys/mongod ] && restart || : ;; status) status $mongod RETVAL=$? ;; *) echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}" RETVAL=1 esac exit $RETVAL
### 重新启动mongodb
## mongodbrpm包安装
### 添加官方的repo
vim /etc/yum.repos.d/monogdb.repo [mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ gpgcheck=0 enabled=1
### 安装mongodb
[root@mongo1 ~]# yum list mongo* Loaded plugins: fastestmirror, presto Loading mirror speeds from cached hostfile * base: mirrors.btte.net * extras: mirrors.btte.net * updates: mirrors.btte.net Available Packages mongo-10gen.x86_64 2.4.10-mongodb_1 mongodb mongo-10gen-server.x86_64 2.4.10-mongodb_1 mongodb mongo-10gen-unstable.x86_64 2.5.2-mongodb_1 mongodb mongo-10gen-unstable-mongos.x86_64 2.5.2-mongodb_1 mongodb mongo-10gen-unstable-server.x86_64 2.5.2-mongodb_1 mongodb mongo-10gen-unstable-shell.x86_64 2.5.2-mongodb_1 mongodb mongo-10gen-unstable-tools.x86_64 2.5.2-mongodb_1 mongodb mongo18-10gen.x86_64 1.8.5-mongodb_1 mongodb mongo18-10gen-server.x86_64 1.8.5-mongodb_1 mongodb mongo20-10gen.x86_64 2.0.8-mongodb_1 mongodb mongo20-10gen-server.x86_64 2.0.8-mongodb_1 mongodb mongodb-mms-backup-agent.x86_64 2.0.0.97-1 mongodb mongodb-org.x86_64 2.6.3-1 mongodb mongodb-org-mongos.x86_64 2.6.3-1 mongodb mongodb-org-server.x86_64 2.6.3-1 mongodb mongodb-org-shell.x86_64 2.6.3-1 mongodb mongodb-org-tools.x86_64 2.6.3-1 mongodb mongodb-org-unstable.x86_64 2.7.3-1 mongodb mongodb-org-unstable-mongos.x86_64 2.7.3-1 mongodb mongodb-org-unstable-server.x86_64 2.7.3-1 mongodb mongodb-org-unstable-shell.x86_64 2.7.3-1 mongodb mongodb-org-unstable-tools.x86_64 2.7.3-1 mongodb [root@mongo1 ~]# [root@mongo1 ~]# yum install mongo-10gen.x86_64 mongo-10gen-server.x86_64 -y
### 创建数据库目录
数据库存放目录的属主属组要和安装mongodb生成的账户一致
[root@mongo1 ~]# [root@mongo1 ~]# mkdir /mongo/data mkdir: cannot create directory `/mongo/data‘: No such file or directory [root@mongo1 ~]# mkdir /mongo/data -pv mkdir: created directory `/mongo‘ mkdir: created directory `/mongo/data‘ [root@mongo1 ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin gopher:x:13:30:gopher:/var/gopher:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin vagrant:x:500:500::/home/vagrant:/bin/bash puppet:x:52:52:Puppet:/var/lib/puppet:/sbin/nologin vboxadd:x:499:1::/var/run/vboxadd:/bin/false mongod:x:498:498:mongod:/var/lib/mongo:/bin/false [root@mongo1 ~]# chown -R mongod.mongod /mongo/data
### 修改配置文件
[root@mongo1 ~]# sed -e ‘/^#/d;/^$/d‘ /etc/mongod.conf logpath=/var/log/mongodb/mongod.log logappend=true fork=true dbpath=/mongo/data pidfilepath=/var/run/mongodb/mongod.pid bind_ip=127.0.0.1 [root@mongo1 ~]#
### 将mongodb服务器添加到服务项并启动服务
[root@mongo1 ~]# chkconfig --add mongod [root@mongo1 ~]# chkconfig mongod on [root@mongo1 ~]# service mongod start Starting mongod: [ OK ] [root@mongo1 ~]#
### 验证存活情况
[root@mongo1 ~]# mongo MongoDB shell version: 2.6.3 connecting to: test Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user > show dbs; admin (empty) local 0.078GB >
接下来是mongodb的CRUD的讲诉~
本文出自 “追马” 博客,请务必保留此出处http://lovelace.blog.51cto.com/1028430/1440988