开启MongoDB的征途

最近NoSQL数据库中redis和mongodb接触比较多。
1、安装MongoDB,从官网下载MongoDB直接解压使用,系统CentOS6.5,下载地址http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz 其他版本可以进入官网下载http://www.mongodb.org
安装过程简单

1
2
3
4
5
$ wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz 
$ tar xvfz mongodb-linux-x86_64-2.6.3.tgz -C /usr/local/
编辑.bash_profile文件,加入MongoDB的路径,然后刷新一下该文件
$ vim .bash_profile MONGO_BIN=/usr/local/mongodb/bin
export PATH=$PATH:$MONGO_BIN

简单配置mongod的配置文件/etc/mongod.conf,启动mongod的时候指定正确的配置文件路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ cat /etc/mongod.conf 
#指定监听地址
bind_ip=127.0.0.1
#指定监听端口,默认就是27017
port=27017
#fork为true,mongod启用后台模式运行。
fork=true
#quiet为false记录详细日志,为true只记录重要日志
quiet=false
#数据库文件路径
dbpath=/opt/mongodata
#日志路径
logpath=/opt/log/mongodb/mongod.log
#日志以追加模式写入,重启不会覆盖之前的日志
logappend=true
#启用日志
journal=true
#启用MongoDB的身份验证
auth=true

编写简单的启动/停止脚本/etc/init.d/mongod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash 
config_file=/etc/mongod.conf
lock_file=/opt/mongodata/mongod.lock
bin_file=/usr/local/mongodb/bin/mongod

start(){
pid=\`cat "$lock_file" 2>/dev/null\`
if [ -z "$pid" ];then
"$bin_file" --config="$config_file"
echo "mongod is start!"
else
echo "mongod is running!"
fi
}
stop(){
pid=\`cat "$lock_file" 2>/dev/null\`
if [ -z "$lock_file" ];then
echo "mongod is not running!"
else
kill -2 $pid
echo "mongod is stop!"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
sleep 1
start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}"
exit 3
;;
esac
exit 0

配置好后就可以进行常用的管理操作了,不要第2、3步也没问题,这样只是让操作来繁琐点。MongoDB自带的管理工具非常强大 监控工具mongostat,每一秒中刷新一下数据库状态,属性都可以通过mongostat --help进行查看。

1
2
3
4
5
$ mongostat 
connected to: 127.0.0.1
insert query update delete getmore command flushes mapped vsize res faults locked db idx miss % qr|qw ar|aw netIn netOut conn time
*0 *0 *0 *0 0 1|0 0 80m 2.6g 31m 0 local:0.0% 0 0|0 0|0 62b 2k 1 00:28:55
*0 *0 *0 *0 0 1|0 0 80m 2.6g 31m 0 local:0.0% 0 0|0 0|0 62b 2k 1 00:28:56

还有mongodb的shell操作环境,与mysql有点像,不过是纯javascript的环境。可以进行很多很多操作。比如数据库状态也可以用db.serverStatus()查看更详细。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ mongo 
MongoDB shell version: 2.6.3 connecting to: test
> db.serverStatus()
{
"host" : "HD-MXR-TX",
"version" : "2.6.3",
"process" : "mongod",
"pid" : NumberLong(7534),
"uptime" : 3971,
"uptimeMillis" : NumberLong(3971194),
"uptimeEstimate" : 3938,
"localTime" : ISODate("2014-07-30T16:35:16.883Z"),
"asserts" : {
"regular" : 0,
"warning" : 0,
"msg" : 0,
"user" : 0,
"rollovers" : 0
......
......
......
----------------本文结束 感谢阅读----------------