> 数据库 > MongoDB >

centos 6.4下mongodb安装教程与存储结构学习笔记

mongodb一直都是知道,但是没有深入去学习下,最近还是觉得潜下心来把MongoDb这个学习下,最近就准备把各项比较学习记录,包括笔记记录,方便自己,也为他人来学习下。

一、MongoDb是什么

MongoDB是一个面向文档的数据库系统,与我们平常使用的关系型数据库mysql不同。他使用C++编写,不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON 是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。MongoDB很像MySQL,document对应MySQL的 row,collection对应MySQL的table。是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。

 

二、数据逻辑结构

MongoDB的文档document相当于关系数据库中的一行记录。

多个文档组成一个集合collection相当于关系数据库的表。

多个集合collection逻辑上组织在一起就是数据库database。

一个MongoDB实例支持多个数据库database。

文档(document)、集合(collection)、数据库(database)的层次结构如下图:

 

1.png - 大小: 110.35 KB - 尺寸: 527 x 463 - 点击打开新窗口浏览全图

 

对于习惯了关系型数据库的朋友们我将MongoDB与关系型数据库的逻辑结构进行了对比

以便让大家更深刻的理解MongoDB的逻辑结构

 

2.png - 大小: 15.83 KB - 尺寸: 540 x 108 - 点击打开新窗口浏览全图

 

三、附上本人测试centos6.4的安装笔记:

 

01 mkdir-p /usr/local/mongodb/data
02 mkdir /usr/local/mongodb/log
03 mkdir /usr/local/mongodb/source
04  
05 useradd  -M -s /sbin/nologin mongodb
06 chown -R mongodb.mongodb /usr/local/mongodb
07  
08  
09 cd /usr/local/mongodb/source
10 curl -O http://pecl.php.net/get/mongo-1.2.4.tgz
11 curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.9.tgz
12 tar -zxvf mongo-1.2.4.tgz ; tar -zxvf mongodb-linux-x86_64-2.0.9.tgz
13  
14  
15 cd /usr/local/mongodb/mongo-1.2.4/
16 /usr/local/php/bin/phpize
17 ./configure --with-php-config=/usr/local/php/bin/php-config
18 make make install
19  
20  
21 查看 mongo.so 是否被复制到php扩展目录,没有则复制。
22 #复制 mongo.so 到PHP的扩展目录
23 cp modules/mongo.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
24  
25  
26 #更改配置文件
27 vi /usr/local/php/etc/php.ini
28 添加extension=mongo.so
29  
30  
31 cd mongodb-linux-x86_64-2.0.9
32 mv bin/ ../../bin
33  
34  
35 #启动Mongodb服务
36 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --fork \
37 --logpath=/usr/local/mongodb/log/mongodb.log --logappend&
38 详细的更多设置:
39 /usr/local/mongodb/bin/mongod --fork --dbpath /usr/local/mongodb/data/ \
40 --logpath /usr/local/mongodb/log/mongodb.log --maxConns 1000 --directoryperdb \
41 --auth --quiet --logappend &
42  
43  
44 #终端出现waiting for connections on port 27017
45 #查看服务是否开启成功
46 netstat -ntl | grep 27017
47  
48  
49 重启你的web服务器或者php-fpm,打印phpinfo,如果看到mongo项表,那么mongodb的扩展安装成功了
50  
51  
52 最后:
53 添加CentOS开机启动项
54 [root@localhost]# vi /etc/rc.d/rc.local
55 将mongodb启动命令追加到本文件中:
56 /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data \
57 --logpath /usr/local/mongodb/logs/log.log -fork
58  
59  
60 建议使用rockmongo 进行管理mongodb
mongodb 以后继续学习吧。


(责任编辑:IT)