轉(zhuǎn)自Mac下使用brew安裝mongodb
Homebrew是Mac下得套件管理器,類似于linux系統(tǒng)中的 yum 或者 apt-get ,它能讓你的Mac更完美。mongodb則是NOSQL數(shù)據(jù)庫,一種文檔數(shù)據(jù)庫,不同于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(MySQL,orcal等),這篇文章對brew做了基本介紹并使用brew在Mac下安裝mongoddb以及其中的問題和注意事項(xiàng)(筆者筆記)
Homebrew 是Mac下得軟件包管理工具,我們可以用它在我們的Mac下安裝軟件,卸載軟件等。要是用Homebrew,首先我們要在我們的Mac下安裝Homebrew,執(zhí)行下面的命令進(jìn)行安裝:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"執(zhí)行安裝命令,安裝brew,安裝完成后,我們就可以使用brew安裝Mac下得軟件了。 在安裝mongodb之前,我們再了解了解brew,首先如何卸載brew?如果你不知道怎么去卸載的話,你可以再次執(zhí)行一次brew的安裝命令,如果你已經(jīng)安裝了brew再次執(zhí)行安裝命令的話,會給你一個提示,告訴你你的系統(tǒng)已經(jīng)安裝過brew了,如果想要重復(fù)安裝就執(zhí)行卸載命令,這樣,你根據(jù)終端的提示執(zhí)行以下卸載命令就可以了,另外我也把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為你所要安裝軟件的標(biāo)志,如使用brew安裝gitbrew install git3、使用brew卸載軟件
brew uninstall soft_name// soft_name為你所要卸載軟件的標(biāo)志,如使用brew卸載gitbrew uninstall git4、顯示使用brew安裝的軟件列表
brew list5、更新軟件
brew upgrade // 更新所有使用brew安裝的軟件brew upgrade git // 更新某個使用brew安裝的軟件6、查看哪些軟件需要更新
brew outdated7、查找軟件
// 當(dāng)你記不清軟件的名字的時候,你可以使用search,只需要寫去幾個字母,他就會幫你聯(lián)想,并把所有可能的結(jié)果輸出給你brew search8、查看使用brew安裝的東西,安裝在哪里
brew --cache1、有了brew,我們安裝mongodb就變得很簡單了:
brew install mongodb如果你現(xiàn)在就啟動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之前,我們需要創(chuàng)建一個目錄,為mongo默認(rèn)的數(shù)據(jù)寫入目錄
注:默認(rèn)目錄為根目錄下的data/db
mkdir -p /data/db4、然后給剛剛創(chuàng)建的目錄以可讀可寫的權(quán)限
chown `id -u` /data/db注:如果不用命令行修改權(quán)限的話,可以前往/data文件夾下右鍵點(diǎn)擊顯示簡介,然后選擇最下邊的共享與權(quán)限,把所有權(quán)限改成讀與寫
5、修改目錄
// /data/db 目錄是mongo的默認(rèn)目錄,如果你想使用其他目錄,可以使 --dbpath 參數(shù)mongo --dbpath dir_name// dir_name 為你的目錄名字現(xiàn)在,你可以放心的啟動mongodb了,執(zhí)行下面的命令:
mongod然后再開啟一個新的終端,執(zhí)行下面的命令:
mongo注:要先執(zhí)行mongod成功后執(zhí)行mongo,出現(xiàn)箭頭表示鏈接成功如圖所示如果有一天你發(fā)現(xiàn)你的數(shù)據(jù)庫突然啟動不了了,可能是你為正常關(guān)閉導(dǎo)致的,你可以刪除掉/data/db文件夾中的mongod.lock文件,然后重新啟動,如果還是不可以,你可以查看一下進(jìn)程,然后殺掉:
ps -aef | grep mongo然后根據(jù)進(jìn)程ID殺掉進(jìn)程,最后重啟mongodb。
1、查詢庫、查詢表
show dbs //查詢所有的數(shù)據(jù)庫show collections //查詢當(dāng)前數(shù)據(jù)庫下的所有數(shù)據(jù)表2、建庫和刪庫
use myDbs //建立一個名為myDbs的數(shù)據(jù)庫,當(dāng)這個庫存在時則是切換到這個數(shù)據(jù)庫中去use myDbsdb.dropDatabase(); //這兩句是刪除這個數(shù)據(jù)庫3、建表和刪表
//表操作都是要先到一個數(shù)據(jù)庫中去,通過use方法db.myTable.insert({name:’hf’,age:20}); //在mongodb中在插入數(shù)據(jù)時即創(chuàng)建了改表,此時創(chuàng)建的是名為myTable的數(shù)據(jù)表db.myTable.drop(); //刪除myTable這個數(shù)據(jù)表//如果沒有指定數(shù)據(jù)庫,表會創(chuàng)建在mongdb默認(rèn)數(shù)據(jù)庫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中的所有數(shù)據(jù)db.myTable.find().sort({age:1}) //根據(jù)age升續(xù)db.myTable.find().count(); //查詢新聞熱點(diǎn)
疑難解答