mac下安装mongodb
先去官網下載http://www.mongodb.org/downloads
建議下載64位的,32位的有一些限制,這個看書都會提到
我下載的是mongodb-osx-x86_64-2.0.3.tgz 看《mongodb權威指南》說的偶數版本號是穩(wěn)定版,
奇數版本號是開發(fā)版。但看網站說推薦安裝這個版本,看大版本也是穩(wěn)定版,無所謂啦,反正也是學習,
好多的基礎知識建議多看《mongodb權威指南》
因為下載的是二進制包安裝就很簡單
tar zxvf?mongodb-osx-x86_64-2.0.3.tgz
sudo mv?mongodb-osx-x86_64-2.0.3.tgz /usr/local/mongodb-2.0.3
cd /usr/local/mongodb-2.0.3
mkdir -p data/db
mkdir log
chown -R root data/db
chown -R root log
這個已經都準備好了,目錄是必須要提前創(chuàng)建好的,接下來是啟動服務
?
sudo bin/mongod?--dbpath=/usr/local/mongodb-2.0.3/data/db?--fork?--logpath= /usr/local/mongodb-2.0.3/log/mongo.log?--logappenddbpath就是指定剛才創(chuàng)建的目錄,默認是在 /data/dbfork是作為守護進程啟動logpath就是指定日志文件的位置,這個一般在需要的時候可以方便的查看,比如升級,重啟之類的 logappend就是讓日志持續(xù)的添加進日志文件啟動好后,因為日志都輸出到日志文件了。所以控制臺是看不到任何東西的,可以查一下端口,默認端口是 27017netstat -an |grep 27017也可以訪問http://localhost:28018 這個是mongodb自己帶的一個http的監(jiān)控頁面。
現在關閉mongodb
ps -ef |grep mongodb
可以查到進程號,直接kill就可以,mongodb收到kill信息會自己處理退出,如果kill -9就會造成數據丟失
?接下來是開機啟動,先找到了Homebrew 一個ruby寫的類似apt-get的東西,我看著就有點怕怕的,
就向之前在ubuntu裝redmine一樣,搞的各種依賴包裝在各種地方,我頭大啊。
后來找到了launchctl 是mac下的開機啟動腳本的服務。比rc.d容易多了
/Library/LaunchDaemon? ??目錄里可以定義一些隨系統(tǒng)啟動的服務進程
/Library/LaunchAgents? ? ??目錄可以定義一些隨用戶登錄而啟動的服務進程
方法可以參考原帖子?http://hlee.iteye.com/blog/772882
先建立plist文件,因為plist中使用了mongod.conf文件,所以也需要建立這個文件,
這個文件可以在mongodb的源碼中找到,也可以google一下。然后加載服務
先用xcode建立一個plist文件,然后用open as-》source code的方式打開,把下面的內容復制進去
?
?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">?
? ? <dict>?
? ? ? ? <key>Label</key>?
? ? ? ? <string>org.mongodb.mongod</string>?
? ? ? ? <key>ProgramArguments</key>?
? ? ? ? <array>?
? ? ? ? ? ? <string>/usr/local/mongodb-2.0.3/bin/mongod</string>?
? ? ? ? ? ? <string>run</string>?
? ? ? ? ? ? <string>--config</string>?
? ? ? ? ? ? <string>/usr/local/mongodb-2.0.3/mongod.conf</string>?
? ? ? ? </array>?
? ? ? ? <key>RunAtLoad</key>?
? ? ? ? <true/>?
? ? ? ? <key>KeepAlive</key>?
? ? ? ? <true/>?
? ? ? ? <key>WorkingDirectory</key>?
? ? ? ? <string>/usr/local/mongodb-2.0.3</string>?
? ? ? ? <key>StandardErrorPath</key>?
? ? ? ? <string>/usr/local/mongodb-2.0.3/log/error.log</string>?
? ? ? ? <key>StandardOutPath</key>?
? ? ? ? <string>/usr/local/mongodb-2.0.3/log/mongo.log</string>?
? ? </dict>?
</plist>
?
plist的配置我也不是太清楚,就我理解的我說一下。
1)array里面是啟動時要運行的命令,因為我們的配置都在mongod.conf中了所以不能向之前一樣啟動,
只能通過這個配置文件啟動,所有的配置都在配置文件中。
2)WorkingDirectory是mongo的目錄。最后是兩個日志文件。具體可以參考apple的文檔
http://www.apple.com.cn/developer/mac/library/documentation/UserExperience/Conceptual/tn2004/tn2124.html
?
?
?
下面是mongod.conf文件,只列出了有用的部分
#where to log
?logpath=/usr/local/mongodb-2.0.3/log/mongo.log
?logappend=true
?# fork and run in background
?fork = true
?#port = 27017
?dbpath=/usr/local/mongodb-2.0.3/data
mac下運行l(wèi)aunchctl的命令
將mongodb加入到啟動服務中,加入后自動啟動mongodb
sudo launchctl load /Library/LaunchDaemon/org.mongodb.mongod.plist ? ? ??
將mongodb移出啟動服務,移除后需要手動關閉mongodb
sudo launchctl unload /Library/LaunchDaemon/org.mongodb.mongod.plist ? ?
一切就緒后,就是將mongodb的bin目錄加入到path中,mac下沒找到bash_profile文件,有帖子說自己建立一個就可以
我是編輯/etc/profile的,在文件最后加上
export PATH=${PATH}:/usr/local/mongodb-2.0.3/bin
etc/profile文件是只讀的,編輯前記得chmod一下,該完文件沒問題后再把權限改回去
————————————————————————————————————————————————————————————
最近發(fā)現mongodb有個問題,不定期的就不能啟動了,查看日志發(fā)現說mongod.lock這個文件有問題。
google后,也沒有什么有效的解決辦法。
1)sudo rm /var/lib/mongodb/mongod.lock (因為安裝的不同,這個文件的位置也不一樣。具體位置在mongo.log文件中會指出)
?2)sudo -u mongodb /usr/bin/mongod -f /etc/mongodb.conf --repair (這行命令,我沒有運行,重啟mac就可以的)
轉載于:https://www.cnblogs.com/qinyan20/p/3643270.html
總結
以上是生活随笔為你收集整理的mac下安装mongodb的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求第N个质数算法
- 下一篇: mysql 测试与mongodb 测试对