转自Mac下使用brew安装mongodb
Homebrew是Mac下得套件管理器,类似于linux系统中的 yum 或者 apt-get ,它能让你的Mac更完美。mongodb则是NOSQL数据库,一种文档数据库,不同于传统的关系型数据库(MySQL,orcal等),这篇文章对brew做了基本介绍并使用brew在Mac下安装mongoddb以及其中的问题和注意事项(笔者笔记)
Homebrew 是Mac下得软件包管理工具,我们可以用它在我们的Mac下安装软件,卸载软件等。要是用Homebrew,首先我们要在我们的Mac下安装Homebrew,执行下面的命令进行安装:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"执行安装命令,安装brew,安装完成后,我们就可以使用brew安装Mac下得软件了。 在安装mongodb之前,我们再了解了解brew,首先如何卸载brew?如果你不知道怎么去卸载的话,你可以再次执行一次brew的安装命令,如果你已经安装了brew再次执行安装命令的话,会给你一个提示,告诉你你的系统已经安装过brew了,如果想要重复安装就执行卸载命令,这样,你根据终端的提示执行以下卸载命令就可以了,另外我也把brew的卸载命令贴出来:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"下面列出一些brew的常用命令: 1、更新brew本身
brew update2、使用brew安装软件
brew install soft_name// soft_name为你所要安装软件的标志,如使用brew安装gitbrew install git3、使用brew卸载软件
brew uninstall soft_name// soft_name为你所要卸载软件的标志,如使用brew卸载gitbrew uninstall git4、显示使用brew安装的软件列表
brew list5、更新软件
brew upgrade // 更新所有使用brew安装的软件brew upgrade git // 更新某个使用brew安装的软件6、查看哪些软件需要更新
brew outdated7、查找软件
// 当你记不清软件的名字的时候,你可以使用search,只需要写去几个字母,他就会帮你联想,并把所有可能的结果输出给你brew search8、查看使用brew安装的东西,安装在哪里
brew --cache1、有了brew,我们安装mongodb就变得很简单了:
brew install mongodb如果你现在就启动mongo你并不会成功,如下:
Failed to connect to 127.0.0.1:27017, reason: errno:61 Connection refusedError: couldn't connect to server 127.0.0.1:27017 (127.0.0.1), connection attempt failed at src/mongo/shell/mongo.js:146exception: connect failed3、在启动mongo之前,我们需要创建一个目录,为mongo默认的数据写入目录
注:默认目录为根目录下的data/db
mkdir -p /data/db4、然后给刚刚创建的目录以可读可写的权限
chown `id -u` /data/db注:如果不用命令行修改权限的话,可以前往/data文件夹下右键点击显示简介,然后选择最下边的共享与权限,把所有权限改成读与写
5、修改目录
// /data/db 目录是mongo的默认目录,如果你想使用其他目录,可以使 --dbpath 参数mongo --dbpath dir_name// dir_name 为你的目录名字现在,你可以放心的启动mongodb了,执行下面的命令:
mongod然后再开启一个新的终端,执行下面的命令:
mongo注:要先执行mongod成功后执行mongo,出现箭头表示链接成功如图所示如果有一天你发现你的数据库突然启动不了了,可能是你为正常关闭导致的,你可以删除掉/data/db文件夹中的mongod.lock文件,然后重新启动,如果还是不可以,你可以查看一下进程,然后杀掉:
ps -aef | grep mongo然后根据进程ID杀掉进程,最后重启mongodb。
1、查询库、查询表
show dbs //查询所有的数据库show collections //查询当前数据库下的所有数据表2、建库和删库
use myDbs //建立一个名为myDbs的数据库,当这个库存在时则是切换到这个数据库中去use myDbsdb.dropDatabase(); //这两句是删除这个数据库3、建表和删表
//表操作都是要先到一个数据库中去,通过use方法db.myTable.insert({name:’hf’,age:20}); //在mongodb中在插入数据时即创建了改表,此时创建的是名为myTable的数据表db.myTable.drop(); //删除myTable这个数据表//如果没有指定数据库,表会创建在mongdb默认数据库test里4、单表的增删改
db.myTable.insert({name:’hahaha’,age:12}); //新增db.myTable.update({name:’hf’},{$set:{age:25}}) //修改db.myTable.remove({name:’hf'}); //删除5、查询
db.myTable.find(); //查询myTable中的所有数据db.myTable.find().sort({age:1}) //根据age升续db.myTable.find().count(); //查询新闻热点
疑难解答