主页 > Cache | NoSQL | PHP > MongoDB和php的mongo拓展的安装

MongoDB和php的mongo拓展的安装

2011 年 12 月 19 日 一条评论

MongoDB的安装:

# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz
# tar zxvf mongodb-linux-x86_64-2.0.2.tgz
# mv mongodb-linux-x86_64-2.0.2 /usr/local/mongodb
# cd /data
# mkdir mongodb
# cd /usr/local/mongodb/
# touch logs

安装完毕!这个安装是史上最简单的了
启动MongoDB

# ./bin/mongod --dbpath=/data/mongodb/ --logpath=/usr/local/mongodb/logs.log --logappend  --port=27017 --fork --source=127.0.0.1

如果要是设置开机启动那么就把这个命令写到/etc/rc.local里面去吧!
另外这里启动有一个地方要说下,那就是关于验证的问题,这个不像Mysql任何时候都需要用户名和密码才能进入数据库,这个如果你在启动的时候,没有说明要验证的情况下,那么操作MongoDB是不需要验证的,但是如果在启动的时候设置了需要验证的话,那么在操作MongoDB就需要输入用户名和密码了。
如果需要用户的验证的那么就是在启动的命令中加入 –auth 参数,不需要的话就不用加,或者是加 –noauth
如果说开启了验证的,那么在操作MongoDB的时候,需要输入用户名密码,那么这个用户密码从哪里来呢?我一开始也纠结了一会,后来明白了,这个跟mysql数据库还是差不多的,存在一个用户表admin,这个表里面的用户就是MongoDB的管理用户列表,和mysql相似,同时,在操作具体的某个数据库的时候,还需要你去认证,而这个用户是针对当前这个数据库的,如果你先use admin,然后db.auth(‘name’,'passwd’)验证通过了,那么其他数据库就不用验证了,如果你你走这步,那么你就需要针对不同数据库,输入不同的用户名密码进行验证了,这点和mysql是一样的!
举个例子:我在MongoDB中有个数据库TEST,如果开启了验证模式,那么我想进入这个数据库进行操作,那么就需要进行db.auth(‘name’,'passwd’)进行验证,同时我可以先通过admin表的验证,那么也就通过其他所有表的验证了!增加用户的话,要先use dbname,然后在使用db.addUser(‘name’,'passwd’)就可以了。

简单的参数说明:
–logpath 日志文件路径
–master 指定为主机器
–slave 指定为从机器
–source 指定主机器的IP地址
–pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
–logappend 日志文件末尾添加
–port 启用端口号
–fork 在后台运行
–only 指定只复制哪一个数据库
–slavedelay 指从复制检测的时间间隔
–auth 是否需要验证权限登录(用户名和密码)
–noauth 不需要验证权限登录(用户名和密码)

PHP的MongoDB拓展的安装:

# wget http://pecl.php.net/get/mongo-1.2.6.tgz
# tar zxvf mongo-1.2.6.tgz
# cd mongo-1.2.6
# /usr/local/php/bin/phpize
# ./configure --enable-mongo=share --with-php-config=/usr/local/php/bin/php-config
# make && make installl 

将生成的拓展mongo.so文件添加到php.ini中,重启php-fpm,然后查看下phpinfo()

安装成功!之后就是测试了。。。

相关资料:
1:http://www.cnblogs.com/zengen/archive/2011/04/23/2025722.html
2:http://blog.csdn.net/liuyuanshijie/article/details/6735621

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>