MongoDB一般安裝
1.首先到官網(http://www.mongodb.org/downloads )下載合適的安裝包
安裝包有zip和msi格式的,這里推薦下載zip格式的,msi的其實也就是進行了下解壓縮而已,而且安裝時不讓選擇安裝路徑,默認安裝到C:\Program Files\MongoDB 2.6 Standard 目錄,根據自己的系統選擇32位或64位的
我本人電腦是win8系統64位,下載64位的zip包,下載完成后解壓縮到D:\MongoDB目錄
創建數據庫目錄D:\MongoDB\data,接下來打開命令行窗口,切換到D:\MongoDB\bin 目錄執行如下命令:
其中 --dbpath是指定數據庫存放目錄,這里要注意有兩個 "-"
mongod --dbpath D:\MongoDB\data
這是命令行窗口會打印一些啟動信息,最后一行顯示為如下信息時表示啟動成功了
2014-04-23T10:38:48.391+0800 [initandlisten] waiting for connections on port 27017
這是在瀏覽器輸入http://localhost:27017/可以看到顯示信息為
It looks like you are trying to access MongoDB over HTTP on the native driver port.
具體截圖如下:
到此mongodb算是安裝完了,比想象中簡單了太多哈
MongoDB安裝為Windows服務
將mongodb安裝為windows服務非常簡單只需要在上面執行的命令行后添加 --install即可
mongod --dbpath D:\MongoDB\data --install
按照正常的劇情,應該服務就安裝成功了,但是很不幸,出現下面提示
--install has to be used with --logpath
按照提示,我們需要指定log目錄,所以我們創建log目錄D:\MongoDB\logs 然后重新執行命令
mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend
但是提示還是沒有指定日志路徑,幾經折騰發現這是2.6版本的一個bug,將會在下一個版本修復,然后我們有兩個選擇,一個選擇是使用上一個版本2.4.9,另一個選擇是先用2.4.9版本安裝成功服務,然后在升級到2.6(腫么升級?直接用2.6版本替換掉對應2.4.9版本的文件),那我們還有其他的選擇嗎,答案當然是肯定的,使用sc命令創建服務,使用net start啟動服務
sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --logappend"
net start MongoDB
MongoDB配置文件
很遺憾,官方下載的安裝包里面沒有默認的配置文件,若想使用配置文件只能自己建一個了,另外個人也推薦使用配置文件來管理MongoDB的配置,使用配置文件配置數據庫文件、日志文件以及其它的一些配置都一目了然
解壓安裝包到D:\MongoDB
建立數據庫目錄 D:\MongoDB\data
建立日志目錄 D:\MongoDB\logs
建立配置文件目錄 D:\MongoDB\etc
建立配置文件 D:\MongoDB\etc\mongodb.conf
dbpath=D:\MongoDB\data #數據庫路徑 logpath=D:\MongoDB\logs\mongodb.log #日志輸出文件路徑 logappend=true #錯誤日志采用追加模式,配置這個選項后mongodb的日志會追加到現有的日志文件,而不是從新創建一個新文件 journal=true #啟用日志文件,默認啟用 quiet=true #這個選項可以過濾掉一些無用的日志信息,若需要調試使用請設置為false port=27017 #端口號 默認為27017
這里僅指定了幾個常用項,更多詳細配置請參考官方文檔 http://docs.mongodb.org/manual/reference/configuration-options/
注:以上目錄是博主自己建立的目錄,官方並沒有對配置文件路徑做出規范,全憑個人喜好來決定
配置文件和相關目錄建好后使用如下方式啟動MongoDB
- 普通啟動
mongod --config D:\MongoDB\etc\mongodb.conf
- 安裝為Windows服務
注:2.6版 這種方式在win7、win8 64位版無法安裝成功,其他系統未測試
mongod --config D:\MongoDB\etc\mongodb.conf --install
- 使用SC安裝為Windows服務
sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"
這里需要注意下當指定了日志文件后,無論使用配置文件指定還是在命令行指定,日志就都會輸出到指定的日志文件去了,在命令行界面將看不到任何日志輸出
附注:
2.6版無法安裝windows服務BUG鏈接 https://jira.mongodb.org/browse/SERVER-13515
MongoDB官網:http://www.mongodb.org/
Linux下Mongodb安裝和啟動配置
1.下載安裝包
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz
下載完成后解壓縮壓縮包
tar zxf mongodb-linux-i686-1.8.2.tgz
mv mongodb-linux-i686-1.8.2 /usr/local/mongodb
創建數據庫文件夾與日志文件
mkdir /usr/local/mongodb/data
touch /usr/local/mongodb/logs
echo "/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data –logpath=/usr/local/server/mongodb/logs –logappend --auth –port=27017" >> /etc/rc.local
/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend --auth --port=27017 --fork
//這個是不需要密碼的
/usr/local/server/mongodb/bin/mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/logs --logappend --port=27017 --fork
--logpath 日志文件路徑 --master 指定為主機器 --slave 指定為從機器 --source 指定主機器的IP地址 --pologSize 指定日志文件大小不超過64M.因為resync是非常操作量大且耗時,最好通過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閑磁盤大小的5%)。 --logappend 日志文件末尾添加 --port 啟用端口號 --fork 在后台運行 --only 指定只復制哪一個數據庫 --slavedelay 指從復制檢測的時間間隔 --auth 是否需要驗證權限登錄(用戶名和密碼) -h [ --help ] show this usage information --version show version information -f [ --config ] arg configuration file specifying additional options --port arg specify port number --bind_ip arg local ip address to bind listener - all local ips bound by default -v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv) --dbpath arg (=/data/db/) directory for datafiles 指定數據存放目錄 --quiet quieter output 靜默模式 --logpath arg file to send all output to instead of stdout 指定日志存放目錄 --logappend appnd to logpath instead of over-writing 指定日志是以追加還是以覆蓋的方式寫入日志文件 --fork fork server process 以創建子進程的方式運行 --cpu periodically show cpu and iowait utilization 周期性的顯示cpu和io的使用情況 --noauth run without security 無認證模式運行 --auth run with security 認證模式運行 --objcheck inspect client data for validity on receipt 檢查客戶端輸入數據的有效性檢查 --quota enable db quota management 開始數據庫配額的管理 --quotaFiles arg number of files allower per db, requires --quota 規定每個數據庫允許的文件數 --appsrvpath arg root directory for the babble app server --nocursors diagnostic/debugging option 調試診斷選項 --nohints ignore query hints 忽略查詢命中率 --nohttpinterface disable http interface 關閉http接口,默認是28017 --noscripting disable scripting engine 關閉腳本引擎 --noprealloc disable data file preallocation 關閉數據庫文件大小預分配 --smallfiles use a smaller default file size 使用較小的默認文件大小 --nssize arg (=16) .ns file size (in MB) for new databases 新數據庫ns文件的默認大小 --diaglog arg 0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是只讀,只寫,還是讀寫都行,還是主要寫+部分的讀模式 --sysinfo print some diagnostic system information 打印系統診斷信息 --upgrade upgrade db if needed 如果需要就更新數據庫 --repair run repair on all dbs 修復所有的數據庫 --notablescan do not allow table scans 不運行表掃描 --syncdelay arg (=60) seconds between disk syncs (0 for never) 系統同步刷新磁盤的時間,默認是60s Replication options: --master master mode 主復制模式 --slave slave mode 從復制模式 --source arg when slave: specify master as <server:port> 當為從時,指定主的地址和端口 --only arg when slave: specify a single database to replicate 當為從時,指定需要從主復制的單一庫 --pairwith arg address of server to pair with --arbiter arg address of arbiter server 仲裁服務器,在主主中和pair中用到 --autoresync automatically resync if slave data is stale 自動同步從的數據 --oplogSize arg size limit (in MB) for op log 指定操作日志的大小 --opIdMem arg size limit (in bytes) for in memory storage of op ids指定存儲操作日志的內存大小 Sharding options: --configsvr declare this is a config db of a cluster 指定shard中的配置服務器 --shardsvr declare this is a shard db of a cluster 指定shard服務器
[root@namenode mongodb]# ./bin/mongo MongoDB shell version: 1.8.2 connecting to: test > use test; switched to db test
mongod --repair