热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MongoDB数据库以及相关PHP扩展的安装方法

一、MongoDB的安装使用1.下载MongoDB:根据你的操作系统版本下载相应的mongodb,我的是ubuntu64位,所以在/opt/下载这个:http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.3.tgz2.解压:tarzxvf/opt/mongod

一、MongoDB的安装使用

1. 下载MongoDB:

     根据你的操作系统版本下载相应的mongodb,我的是ubuntu64位,所以在/opt/下载这个:http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.3.tgz

2. 解压:

     tar zxvf /opt/mongodb-linux-x86_64-2.0.3.tgz

3. 手动创建mongodb的数据和日志存储路径

     mongodb默认的路径是 /data/db/,我的设置:/opt/data/mongodb/data/ 和 /opt/data/mongodb/log/

4. 启动mongodb:

    /opt/mongodb-linux-x86_64-2.0.3/bin/mongod --dbpath /opt/data/mongodb/data/ --logpath /opt/data/mongodb/log/m1.log --journal --fork

    若要在linux启动时,自动启动mongodb,则vi /etc/rc.local 加如上面这句

5. 通过shell命令操作mongodb

    /opt//mongodb-linux-x86_64-2.0.3/bin/mongo

> use my_mongodb  //若没有my_mongodb 则自动创建 这个相当于数据库

switched to db my_mongodb  

> db.user.insert({uid:1,username:"Tom",age:25});  //若没有user集合 则自动创建 并插入一条数据 这个相当于向一个集合写入一个文档

> db.user.insert({uid:2,username:"Jerry",age:25});  

>

本例向数据库my_mongodb的表user中插入了2条记录。MongoDB会隐式的创建数据库my_mongodb和表user,所以这个例子没有建库和建表的过程,可以通过show dbs和show collections来查看数据库及表,具体如下:

> show dbs  

admin   (empty)  

local   (empty)  

my_mongodb      0.0625GB    ---隐式创建的数据库  

> show collections  

system.indexes  

user                         ---隐式创建的表  

6. 查询记录

查询表中的全部记录:

>  db.user.find();  

{ "_id" : ObjectId("4f81a49b779282ca68fd8a59"), "uid" : 1, "username" : "Tom", "age" : 25 }  

{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 25 }  

查询用户名是 ”Jerry” 记录:

> db.user.find({username:"Jerry"});  

{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 25 }  

7. 修改记录

将用户ID是2的记录的年龄修改为100:

> db.user.update({uid:2},{$set:{age:100}}) ;  

查询一下是否改过来了:

>  db.user.find({uid:2});  

{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 }  

8. 删除记录

将用户ID是1的记录从表user中删除:

> db.user.remove({uid:1});  

> db.user.find();   

{ "_id" : ObjectId("4f81a4a1779282ca68fd8a5a"), "uid" : 2, "username" : "Jerry", "age" : 100 }  

经验证,该记录确实被删除了。

二、安装mongodb的php扩展

1. 若没安装php5-dev,则先安装之

aptitude install php5-dev

2. 安装mongo的php扩展

pecl install mongo
若不知道pecl命令在哪,可先通过 whereis pecl查找,然后跑到那个目录下运行之,如 /usr/bin/pecl install mongo

3. 配置php.ini 加入

extension=mongo.so
我的php.ini在 /etc/php5/apache2/下

4. 重启apache即可

/etc/init.d/apache2 restart


推荐阅读
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
author-avatar
齐鲁墨_931
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有