霜天部落 | 关注LAMP高性能、高并发架构的设计与研究

NOSQL之MongoDB 简介及安装

NOSQL与MongoDB的简介

NOSQL:指的是非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
MongoDB:是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB 安装过程:

服务端:

MongoDB下载地址:http://www.mongodb.org/downloads

#cd /home/test
#wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-v2.0-latest.tgz.tar
#tar -zxvf mongodb-linux-i686-v2.0-latest.tgz.tar
#mv mongodb-linux-i686-v2.0-2011-10-17 /usr/local/mongodb
#cd /usr/local/mongodb
#mkdir /data
#mkdir /data/mongodb
#./mongod –fork –dbpath /data/mongodb –logpath /data/mongod.log –maxConns 1000 –directoryperdb –auth –quiet –logappend &
#netstat -ln

显示如下图所示:

测试:

#./mongo
>help
db.help() help on db methods
db.mycoll.help() help on collection methods
rs.help() help on replica set methods
help connect connecting to a db help
help admin administrative help
help misc misc things to know

show dbs show database names
show collections show collections in current database
show users show users in current database
show profile show most recent system.profile entries with time >= 1ms
use set current database
db.foo.find() list objects in collection foo
db.foo.find( { a : 1 } ) list objects in foo where a == 1
it result of the last line evaluated; use to further iterate
>use test //选择数据库,test可以是从未建立过的数据库
switched to db test
>a={name:’test’}
{“name”:”test”}
> b={url:’http://www.test.com’}
{ “url” : “http://www.test.com” }
> db.data.save(a) //将数据保存到data表中,data表可以是从未建立过的数据表
> db.data.save(b)
> db.data.find() //数据查询
{ “_id” : ObjectId(“4d7f7c1076568212fe4efbad”), “name” : “test” }
{ “_id” : ObjectId(“4d7f7c1876568212fe4efbae”), “url” : “http://www.test.com” }
>show collections //显示test库下所有的表
data
system.indexes
>db.data.find().limit(1) //只显示一条记录
{ “_id” : ObjectId(“4d7f7c1076568212fe4efbad”), “name” : “test” }
//增加认证,添加管理员
>use admin
>db.addUser(“admin”,”123456″);
//以后登录mongodb必须认证
>use admin
>db.auth(“admin”,”123456″)
>db.shutdownServer()

rockmongo://MongoDB可视化管理工具

#mkdir /var/www/html/rockmongo
#cd /var/www/html/rockmongo
#wget http://rock-php.googlecode.com/files/rockmongo-v1.1.0.zip
#unzip rockmongo-v1.1.0.zip
//修改管理员名和密码
#vim config.php

mongo-php-driver

参照:http://www.php.net/manual/en/mongo.installation.php#mongo.installation.nix

#cd /home/super
#wget –no-check-certificate https://github.com/mongodb/mongo-php-driver/tarball/master
#tar -zxvf mongodb-mongo-php-driver-1.1.4-4-g0c16c89.tar.gz
#cd mongodb-mongo-php-driver-0c16c89/
#phpize
#./configure
#make && make install