作者:手机用户2502927973 | 来源:互联网 | 2014-05-28 16:53
MongoDB名字来源与单词:“humongous”),它是一个可扩展性,高性能,开源NoSQL数据库,源代码是C++编写的。MongoDB的特点有:1、文件存储格式为BSON(一种JSON的扩展)2、支持全文索引(点击查看文章)3、高可用性,支持主从,可创建多个镜像4、自动处理碎
MongoDB名字来源与单词:“humongous”)
,它是一个可扩展性,高性能,开源NoSQL数据库,源代码是C++编写的。
MongoDB的特点有:
1、文件存储格式为BSON(一种JSON的扩展)
2、支持全文索引(点击查看文章) 3、高可用性,支持主从,可创建多个镜像
4、自动处理碎片,以支持云计算层次的扩展性
5、支持的查询语言非常强大,其语法有点类似于面向对象的查询语言
6、模式自由,不需要知道它的任何结构定义,可以把不同结构的文件存储在同一个数据库里。
7、跨平台应用,支持RUBY,PYTHON,JAVA,C++,PHP等多种语言,推荐运行在64位平台,
因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB安装
32位linux系统
[root@localhost package]# wget http://downloads.
mongodb.org/linux/
mongodb-linux-i686-1.6.4.tgz
名字有点长,看了有点不舒服 改下:
[root@localhost package]# mv mongodb-linux-i686-1.6.4.tgz mongodb.tgz
[root@localhost package]# tar zxvf mongodb.tgz
64位linux系统
下载地址为:http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz
如果你的系统是64位改为这个源码包(推荐64位系统)
创建存储目录:
[root@localhost package]# mkdir /data/db
解压出来的名字还是有点长,修改下:
[root@localhost package]# mv mongodb-linux-i686-1.6.4 mongodb
[root@localhost package]# cd mongodb
[root@localhost mongodb]# bin/mongod (启动服务)
开始另一个终端,测试是否启动成功
[root@localhost package]# cd mongodb
[root@localhost mongodb]# bin/mongo
MongoDB shell version: 1.6.4
connecting to: test
> db.foo.save({a : 1})
> db.foo.find()
{ "_id" : ObjectId("4f4f20eeba7e706b4698c1d0"), "a" : 1 }
>
Ok 测试成功
mongoDB使用
重新建立mongoDB目录
[root@localhost mongodb]# mkdir /data/mongodb/db -p
[root@localhost mongodb]# mkdir /data/mongodb/logs -p
后台启动
[root@localhost mongodb]# bin/mongod --dbpath /data/mongodb/db/ --logpath /data/mongodb/logs/mongolog --logappend --fork
参数说明
--dbpath #指定db文件存放的目录
--port #指定mongod服务使用的端口
--fork #设置mongo服务为后台运行
--logpath #指定log文件的目录和文件名
--logappend #设置每次log添加在文件最后
--rest #关闭rest api功能
--nohttpinterface #关闭web管理功能
--auth #指定mongo使用身份验证机制
--bindip #用逗号分隔ip地址,用来指定
--f #将所有前面介绍的参数都可以存放到一个配置文件中,然后用这个参数调用配置文件来启动mongod服务
命令使用介绍
> 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
exit quit the mongo shell
>
SQL 与
MongoDB比较查看:http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart
MongoDB PHP扩展组件安装
如果你的WEB服务器是yum搭建的可以使用以下命令(一般不这么安装)
[root@localhost ~]# yum install php-dev php-cli php-pear-dev php-cli php-pear
[root@localhost ~]# pecl install mongo
自行源码编译的环境 安装如下(本人使用的是这种方式)
源码下载地址:https://github.com/mongodb/mongo-php-driver/downloads (linux上要以tar.gz形式下载)
如若无法打开可以找我获取 QQ:429240967
安装命令
[root@localhost package]# tar -zxvf mongodb-mongo-php-driver-1.2.9-112-gb9d5a08.tar.gz
[root@localhost package]# cd mongodb-mongo-php-driver-b9d5a08
找到自己安装的phpize(根据自己安装目录确定)
[root@localhost mongodb-mongo-php-driver-b9d5a08]# /usr/local/php/bin/phpize
[root@localhost mongodb-mongo-php-driver-b9d5a08]# ./configure --enable-mOngo=share --with-php-cOnfig=/usr/local/php/bin/php-config
[root@localhost mongodb-mongo-php-driver-b9d5a08]# make && make install
最后出现的提示
Build complete.
Don't forget to run 'make test'.
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
说明安装成功 接下来配置php.ini
编辑php.ini 加入
[MongoDB]
extension=mongo.so
重启php-fpm
pkill php-fpm
/usr/local/php/sbin/php-fpm